如何调试在VS 2017中“发布”版本崩溃时创建的崩溃转储?

时间:2019-03-25 12:13:01

标签: debugging build visual-studio-2017 dump release-builds

我正在尝试弄清楚如何生成一个调用栈 从发布版本中发生崩溃/挂起时创建的.dmp文件中提取。

我对“发布”配置属性进行了以下更改:

  1. 链接器->调试

    • 生成调试信息-/ Debug
    • 生成程序数据库文件-path / projectname.pdb
  2. C / C ++ 一般

    • 调试信息格式-/ Zi 优化 优化-禁用 -内联功能扩展-已禁用

通过这些更改,正在为Release构建生成.pdb文件。但是大小为30MB,而用于“ RelWithDebugInfo”构建的.pdb为250MB。因此,我假设它没有从.dmp文件构建堆栈所需的所有信息。

在将“符号路径”设置为Release构建目录(.pdb文件所在的位置)后,尝试对.dmp文件进行Debug with native only时,会看到调用堆栈和带有调试指针的文件。但是堆栈很少,我的课程都不在那儿。

所以我的问题是:

  1. 当“发布”版本崩溃时,是否可以从生成的.dmp文件中看到完整的调用堆栈(例如在Debug / RelWithDebugInfo版本中)?
  2. 是的,如何?

0 个答案:

没有答案