利用VS可以很方便的分析dump文件,如果有生成dump文件时对应的.pdb文件,就可以直接定位到出错的代码行。
什么是PDB文件?
PDB (Program Data Base) 即程序的基本数据,是 VS 编译链接时生成的文件,每个程序集(EXE 或 DLL)都有一个与之对应的 PDB 文件。DPB 文件主要存储了 VS 调试程序时所需要的基本信息,主要包括源文件名、变量名、函数名、对应的行号等等。因为存储的是调试信息,所以一般情况下 PDB 文件是在 Debug 模式下才会生成。有了这个文件,我们才能对程序进行 断点调试 ,才能一步步执行程序。
流程如下:
1、把dmp文件拖入VS;
2、设置符号路径,加入.dll .exe .pdb路径。可执行文件为发生崩溃的版本,程序编译生成的pdb文件的版本必须是产生崩溃的那个版本的编译信息。
(该页面也可从顶部工具栏 调试->选项->符号 进入)
3、打开解决方案资源管理器的属性进行设置,点击调试源文件,将项目的源代码对应的文件路径添加进去;
4、最后,点击右侧的操作那里,有个使用 仅限本机 进行调试,就能出结果啦。
结果如图,可以定位到发生crash的代码位置啦~