visual studio 2010加载c ++调试符号但无法找到源代码

时间:2012-01-27 16:28:49

标签: c++ visual-studio-2010 debugging

我在2010中指定了符号(pdb)文件,以便正确加载,但我收到No source available错误,Browse to Find Source Code显示为灰色。有谁知道我如何指定源代码目录或查看pdb内部以找出它的位置?

编辑:我的DLL正在被外部程序调用。错误发生在我的DLL中,所以我有源代码。发生错误时单击Debug,加载pdb符号但不加载源。

3 个答案:

答案 0 :(得分:4)

如果您从其构建目录移动DLL,则调试器不太可能自己找到源代码文件。您可以做的第一件事是右键单击Solution Explorer窗口中的Solution根节点,Properties,Common Properties,Debug Source Files并添加DLL项目源目录的路径。

第二种方式:调试器在第一次需要查找源代码文件时提示您。如果您曾在该对话框上单击“取消”,当您不知道它真正要求的时候,这是很常见的事情,那么IDE会记住您的选择并且不会再次提示您。通过删除或重命名解决方案目录中隐藏的.suo文件来解决此问题。

答案 1 :(得分:1)

根据我的理解,你只想调试你的程序,你有DLL的形式。问题是外部程序使用这个DLL,然后在出现错误发生后弹出的窗口中单击“Debug”。

我假设您要在Visual Studio中打开项目,然后按Ctrl + Alt + P打开“附加到进程”窗口,您应该在其中选择使用此DLL的进程(iexplore.exe或您正在使用的任何内容) )这样你就可以在那里切换一些断点,看看发生错误之前发生了什么

答案 2 :(得分:1)

@Hans Passant的黑客工作,但实际上有一种正式的方法来实现这一点:在解决方案资源管理器中右键单击您的解决方案,选择属性/公共属性/调试源文件。在提示输入源路径时,您应该能够查看和编辑之前选择“取消”的所有文件的列表。

enter image description here