0

我首先要说我已经搜索过 SO 并没有找到我的问题的答案。

我想在我的asp.net代码后面放置一个断点,当调用类库的方法或函数时,我希望能够单步执行类库代码。

我已将类库代码文件添加到我的 asp.net 解决方案文件中。

附加到进程不起作用(后面的类库代码没有出现)。我还确认 pdb 文件存在于 \bin 文件夹中......根据这篇文章ASP.NET Class Library not hit break points

这是我的过程截图: 在此处输入图像描述

任何想法如何进入类库?

4

3 回答 3

2

你必须附加到 w3wp,asp 网站的工作进程,dll 应该在那里。

但是,如果直接引用代码,那么内置的 VS 调试器应该可以工作。你确定你在调试中运行吗?

于 2012-06-15T18:51:36.033 回答
1

如果您从调试中运行,您应该会在输出窗口中看到加载的类库和符号。查找如下所示的内容:

'WebDev.WebServer40.EXE'(托管 (v4.0.30319)):加载 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\b2719ea1\480fba3f\assembly\dl3\c439d1ec \8c571aed_7e45cd01\MyClassLibrary.DLL',已加载符号。

如果您看到您的类库正在加载,但最后没有说“符号已加载”,那么由于某种原因它没有找到 .pdb 文件。

此外,如果您从调试运行,您可以从“附加到进程”框中附加到 WebDev.WebServer40.exe。但您不应该这样做 - 如果符号已加载并且您在调试模式下运行,您应该能够在不明确附加到进程的情况下达到你的断点。

你能在你的类库中没有的代码中打断点吗?

于 2012-06-15T19:15:04.833 回答
0

确保选中“显示所有用户的进程”,然后附加到您网站的 w3wp 进程。

于 2012-06-15T18:52:20.100 回答