我从运行我的本地 c++ 应用程序的服务器获得了一个小型转储。我也有 exe 和 pdb 文件。我可以使用 Visual Studio 2005 Pro 打开 minidump 并正确加载 pdb 文件中的符号。
我运行调试器 (F5),它告诉我它崩溃了。当我单击堆栈跟踪查看位置时,它告诉我找不到源代码“当前位置没有可用的源代码。”。
如何告诉 Visual Studio 源代码在哪里?
我的 exe 是一个优化的发布版本,我使用 pdb 文件构建。
我从运行我的本地 c++ 应用程序的服务器获得了一个小型转储。我也有 exe 和 pdb 文件。我可以使用 Visual Studio 2005 Pro 打开 minidump 并正确加载 pdb 文件中的符号。
我运行调试器 (F5),它告诉我它崩溃了。当我单击堆栈跟踪查看位置时,它告诉我找不到源代码“当前位置没有可用的源代码。”。
如何告诉 Visual Studio 源代码在哪里?
我的 exe 是一个优化的发布版本,我使用 pdb 文件构建。
从这个MSDN 页面:
在解决方案属性页中,您可以更改调试器查找源文件的目录,并告诉调试器忽略选定的源文件。请参阅调试源文件、通用属性、解决方案属性页对话框。
确保为 VS 提供与二进制文件和 PDB 文件对应的源。
通常,VS 应该在第一次双击堆栈帧时询问源在哪里。我遇到了一个问题,VS 会弹出当前位置没有可用的源代码。仅单击某些堆栈帧时的对话框,但显示其他堆栈的源。原来这是因为/Zi
没有为某些项目设置标志,导致返回源文件的链接丢失。可以在Project Propery Pages > C/C++ > General > Debug Information Format中设置此标志。