Windbg 调试工具是一款功能丰富的windows 程序调试工具,可以利用程序崩溃时生成的dump文件,指定与之对应的程序(exe、dll)以及相应的PDB(Program Data base)文件, 指定PDB符号文件位置 指定源码文件位置 下面是常用的Windbg调试命令 1 !analyze -v //分析出错推文件信息 2 .exrc //找到程序崩溃的位置 3 !heap //打印出错函数的局部位置 4 !for_each_frame dv /t //显示call stack内容 5 ~*kbn //显示所有线程信息 6 ~线程号 s //切换线程 7 kbn //显示当前线程信息 8 .reload //加载符号信息 9 !runaway 19 //查看19号线程所用时间 10 .load wow64exts 11 !sw //切换到64位
调试步骤为:
1、打开Crash dump文件;
2、指定上述PDB符号文件位置、源码文件夹位置;
3、.reload /f 强制加载所有模块,lm 恶意可以查看对应模块是否加载了PDB文件;
特别注意:
使用VS编译的代码,项目属性->链接器->调试,必须选择优化以便于调试,否则WinDbg不能显示崩溃位置对应的源码行。