2011-09-30 66 views
2

在VS 2010中,我将源代码附加到进程以进行调试。我将一个断点设置为我的log4net日志表示失败的一行。附加到进程问题

当我设置断点,启动并附加到进程时,断点显示为清晰。当我在断点处盘旋时,警告说我的断点不会被打到,因为那个特定的符号没有被加载。

我不明白我该如何选择错误的源文件来设置断点。我直接从日志中得到它,这给了我的代码失败的文件和行的绝对路径。

请告诉我。

THX

+1

Debug + BreakAll。调试+ Windows +模块。找到列表中的DLL,右键单击它并选择“符号加载信息”。它向您显示调试器查找.pdb文件的位置。 –

回答

2

清楚BP表示不执行你正在寻找的源代码。我们知道这是事实。

因此a)您附加了错误的源代码b)您的源代码已过期或者与其他二进制文件不完全匹配c)如果您有一个预编译的二进制文件链接到一个dll或一个dll .lib)可能需要下载官方的“调试符号” - 因为“发布”二进制文件没有包含足够的信息来将其与源代码关联起来。如果未提供这些信息,则可能需要自己从源代码重建第三方库,以便进行调试构建。

有一段时间没有做视觉工作室,所以这可能有点关闭。

1

我不明白我该如何选择错误的源文件来设置断点。我直接从日志中得到它,这给了我的代码失败的文件和行的绝对路径

您没有选择错误的源文件(很可能)。问题是Visual Studio需要更多的功能来达到你设置的断点 - 它需要编译你正在调试的应用程序时创建的pdb文件 - 你有这些文件吗?你是否在Debug或Release模式下编译?

调出模块窗口(调试 - > Windows - >模块)并寻找你的DLL/EXE。右键点击并选择'符号加载信息'。那是什么意思?