调试类库

时间:2011-06-17 12:02:58

标签: c# asp.net com asp-classic

我有一个c#类库,我从Classic ASP调用。

是否可以使用visual studio进行调试?班上的断点不起作用,这并不奇怪。

我在iis7上在浏览器中运行它,而不是通过Visual Studio 2010,因为我使用的是经典的ASP页面。我是否需要在Visual Studio中运行才能使其正常工作?

我也尝试使用Response.writes,但它们导致: 当前上下文中不存在名称“响应”

5 个答案:

答案 0 :(得分:1)

您需要将调试器附加到正在加载程序集的进程(IIS或用于调试经典ASP应用程序的其他调试程序)。

在VS2010下,转到工具 - >附加到流程(2008年也可能相同)。

答案 1 :(得分:1)

尝试在lib:System.Diagnostics.Debugger.Break();的代码中添加要中断的代码。还要确保使用pdb符号编译和部署lib。当代码到达指令时,IIS将抛出异常。系统会要求您附加一个调试器,然后您就可以了。

答案 2 :(得分:1)

我实际上写了一篇关于此的文章:

http://www.jameswiseman.com/blog/tag/visual-studio-2010/

来自文章:

  1. 打开Visual Studio 2010

    如果安装它,这很容易。如果你不这样做,可能会有点棘手; - )

  2. 在Visual Studio中打开您的网站

    再次,很容易。

  3. 启动您的网站。 即打开浏览器并导航到网站。

  4. 在Visual Studio中,单击“调试”菜单 - > '附加到流程'

  5. 您可能需要勾选标有“显示所有用户的流程”
  6. 的复选框
  7. 如果应用程序保护较低,则为“Inetinfo.exe”;如果应用程序保护较高,则为“dllhost.exe”。您可能会收到“附加安全警告”弹出窗口。如果是,请继续。起初它有点吓人,但如果它是你自己的PC上的自己的应用程序,那么你会没事的。 enter image description here

    如果您对此感到担心,follow the advice on MSDN

  8. 在您的代码中添加一个断点,然后导航到您将点击它的位置。

  9. 疑难解答 - 注册pdm.dll

    这是我第一次尝试它。后来的尝试并不那么成功,我发现了一些我必须做的事情。

    尝试附加到“脚本代码”时,我在IDE中收到以下警告。

      

    警告:无法调试脚本代码。该   pdm.dll的正确版本不是   注册。修复Visual Studio   2010安装,或运行   “regsvr32.exe的   “%COMMONPROGRAMFILES%\微软   共享\ VS7Debug \ pdm.dll”“。

    请按照这些说明操作。

    疑难解答 - 重新启动IIS

    这也有一次有帮助。真的不能说出原因。

答案 3 :(得分:0)

如果你在web服务中包装.net类,然后从经典的asp页面调用web服务,你将使你的生活更加轻松。

答案 4 :(得分:0)

对于调试,请将调试程序附加到进程,如其他答案中所述。

对于跟踪,我发现类库中的System.Diagnostics.Trace.Writeline()DebugView之类的OutputDebugString侦听器之间的组合非常方便。