码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • windbg使用教程


    下载

    https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools
    在这里插入图片描述
    在这里插入图片描述
    安装,打开exe 我选择了下载
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    打开X64 Debuggers And Tools-x64_en-us.msi 要安装对应系统位数 不然打不开
    在这里插入图片描述
    安装完成后没有反应。还以为我弄错了呢,开始菜单有,如果找不到可以从右侧路径找。
    在这里插入图片描述

    使用方法

    配置pdb与源码
    在这里插入图片描述

    dump分析

    分析dump,可以将dump直接拖进来,也可以如下打开
    在这里插入图片描述
    输入!analyze -v 用于分析查看数据
    在这里插入图片描述
    输入~*kbn 查看所有的线程
    按Ctrl+F查找KERNELBASE!UnhandledExceptionFilter类似未处理的异常
    在这里插入图片描述
    输入dd 显示当前内存地址,dd 参数:显示参数处的内存
    复制第三个参数00b8d9d0 输入 dd 00b8d9d0
    在这里插入图片描述

    输入.ecxr 查看当前异常的上下文信息、和部分寄存器信息
    输入.cxr 切换异常帧上下文
    输入 .exr 00b8db60(第二个参数)查看上下文 .cxr 00b8dbb0 (第三个参数)
    在这里插入图片描述
    输入kb 显示堆栈崩溃,具体到行
    在这里插入图片描述
    查看堆栈,打开call stack,可以直接查看堆栈
    在这里插入图片描述
    在堆栈里面双击崩溃位置,跳转到代码
    在这里插入图片描述
    打开local,可查看变量值
    在这里插入图片描述
    查看崩溃前的数据
    在这里插入图片描述
    输入lmvm 模块名 查看对应的pdb,lmvm TPClipManageU

    输入.reload /i 库名 重新加载对应的库,.reload /i TPClipManageU.dll

    输入kv.bugcheck 可以显示出错的代码

    输入r 可以显示系统崩溃时的寄存器,和最后的命令状态

    输入R 查看寄存器

    输入Kv 查看栈回溯

    输入~0s 查看主线程

    输入.exr 显示异常信息

    调试程序

    由于某些情况下,pdb与现在版本不一致(vs中修改了些的代码,或者vs抽风)vs无法附加进程,但是bug又是偶现的,好不容易出现一次又不能破坏现场。就可以直接使用windbg直接附加到进程进行调试程序。
    在这里插入图片描述
    找到需要添加的进程
    在这里插入图片描述
    此时程序会暂停
    在这里插入图片描述
    打开需要加载的cpp
    在这里插入图片描述
    选中你需要调试的代码F9添加断点,跟vs一致。如果F9没成功需要点击那个暂停按钮,成功断点位置会变红色,F10逐步跟进,会变成蓝色
    在这里插入图片描述
    按F5或者右键菜单栏go继续运行,或者输入g
    在这里插入图片描述

  • 相关阅读:
    计算机毕业设计(附源码)python中原图书供应商图书管理系统
    Ompal138+Spartan-6 FPGA开发板硬件数据说明书(上)
    恒峰-智能高压森林应急消防泵:安全护林新利器
    大规模分布式链路分析计算在字节跳动的实践
    TogoID - 生物医学数据库ID转换工具
    vue项目搭建
    java中静态属性和静态方法的使用
    一起Talk Android吧(第四百零一回:如何使用TableLayout布局)
    依赖的aar包跟项目jdk版本不一致问题
    牛血清白蛋白标记微囊藻毒素(MCLR)(BSA-MCLR)
  • 原文地址:https://blog.csdn.net/qq_36314864/article/details/128127285
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号