Visual Studio 调试器 - 源代码搜索目录

Sum*_*uma 5 c++ debugging visual-studio visual-studio-2012

我有一个在不同计算机上编译的可执行文件(本机 x86 代码)的故障转储(小型转储,mdmp 格式)。我有与故障转储对应的 pdb + exe,它们位于故障转储旁边,调试器可以正确识别它们。pdb 在我的计算机上不可用的路径上引用源(例如E:\Project)。当我第一次打开故障转储时,调试器要求我提供源位置。我E:\B\Project在我的电脑上指向它,但是一旦出现源代码窗口,我意识到我的选择是错误的(源代码用于不同的产品分支)。我想将调试器指向正确的位置E:\D\Project,但是调试器不再询问我。创建的故障转储没有解决方案、项目或选择文件。我已经搜索了注册表,但没有找到E:\B\Project 任何地方。

如何设置/更改 Visual Studio 调试器的源目录?

Sum*_*uma 6

我找到了一种方法,不是很直观,但它有效:

  • 创建一个新的 Visual C++ 项目和解决方案(它可以在任何地方创建,但 mdmp 文件旁边的位置似乎很方便)
  • 或使用通常用于构建可执行文件的 Visual C++ 项目和解决方案
  • Solution(右键单击)> Common Properties> Debug Source Files> 中设置源位置Directories containing source code
  • 使用File> Open> File> 选择Dump Files作为过滤器打开故障转储

注意:互联网上的故障转储分析指南如果不够新可能会产生误导,因为自 2010 年以来转储文件不再作为项目打开,而是作为文件打开。请参阅R Nitzel 在 MSDN Crash Dump Analysis 文章中的注释