【Debug】vs调试dump文件避坑指南

先说结论:

1、文件版本一致性
dmp、pdb、exe确保是同一版本,即使代码未做任何修改,重新编译生成的新版exe不能与旧版exe产生的dmp文件一起调试。

2、符号文件位置
dmp、pdb、exe最好放在同一目录下,方便设置vs设置符号文件(*.pdb)位置

3、代码一致性
尽量保证exe的源文件与上次发布exe的源文件一致

为什么要确保dmp、pdb、exe版本的一致性?且往下看:
正常调试dump文件是这样的:
【Debug】vs调试dump文件避坑指南_第1张图片
点击“使用 仅限本机 进行调试”后,会切换到崩溃点:
【Debug】vs调试dump文件避坑指南_第2张图片
但是!代码未做任何修改,重新编译(为了重新生成exe和pdb文件),然后再用vs打开刚才的dump文件,重复刚才的操作,就成了下面这样了:
【Debug】vs调试dump文件避坑指南_第3张图片
只要dump文件不是这个exe产生的,不管源代码是不是一样,结果都会提示找不到exe!!(感觉是不是有点坑?!)

最后,记得设置符号路径:
【Debug】vs调试dump文件避坑指南_第4张图片

你可能感兴趣的:(Windows,锦囊妙计)