在VS 2010中,我将源代码附加到进程以进行调试。我将断点设置为我的log4net日志说失败的行。
当我设置断点,启动并附加到进程时,断点显示为清晰。当我在断点上盘旋时,警告说我的断点不会被击中,因为没有加载特定的符号。
我不明白我是如何选择错误的源文件来设置断点的。我直接从日志中获取了它,它给出了我的代码失败的文件和行的绝对路径。
请告诉我。
THX
答案 0 :(得分:2)
clear bp表示您正在查看的源代码未被执行。我们知道这一点。
所以a)您附加了错误的源代码b)您的源代码已过期或者与二进制文件不完全匹配c)如果您有一个预先构建的二进制文件,您正在链接(dll或a。 lib)可能你需要下载官方的“调试符号” - 因为“发布”二进制文件没有包含足够的信息来将它与源代码相关联。如果没有提供这些,您可能需要自己从源代码重建第三方库,以便进行调试构建。
有一段时间没有做过visual studio,所以这可能有点过时了。
答案 1 :(得分:1)
我不明白我是如何选择错误的源文件来设置断点的。我直接从日志中获取了它,它给出了我的代码失败的文件和行的绝对路径
您没有选择错误的源文件(最有可能)。问题是Visual Studio需要的不仅仅是点击你设置的断点 - 它需要在编译正在调试的应用程序时希望创建的pdb文件 - 你有这些文件吗?你是在Debug或Release模式下编译的吗?
打开模块窗口(Debug - > Windows - > Modules)并查找你的dll / exe。右键单击它并选择“符号加载信息”。怎么说?