先说结论:
1、文件版本一致性
dmp、pdb、exe确保是同一版本,即使代码未做任何修改,重新编译生成的新版exe不能与旧版exe产生的dmp文件一起调试。
2、符号文件位置
dmp、pdb、exe最好放在同一目录下,方便设置vs设置符号文件(*.pdb)位置
3、代码一致性
尽量保证exe的源文件与上次发布exe的源文件一致
为什么要确保dmp、pdb、exe版本的一致性?且往下看:
正常调试dump文件是这样的:
点击“使用 仅限本机 进行调试”后,会切换到崩溃点:
但是!代码未做任何修改,重新编译(为了重新生成exe和pdb文件),然后再用vs打开刚才的dump文件,重复刚才的操作,就成了下面这样了:
只要dump文件不是这个exe产生的,不管源代码是不是一样,结果都会提示找不到exe!!(感觉是不是有点坑?!)
最后,记得设置符号路径: