1

我有一个 ASP.net C# 4.0 网站项目。我正在使用 jQuery AJAX 回发调用 ASHX 处理程序。通常当我调试 C# 时,我使用此方法 Debug > Attach to Process > 选择 w3wp.exe 并开始调试。

当我使用我的 ASHX 处理程序执行此操作时,Visual Studio 显示“不会命中断点。没有为此文档加载任何符号。” 果然,当我对处理程序运行 AJAX 调用时,没有命中断点。

令我困惑的是,我可以调试 C# 文件,即 ASPX 文件的代码隐藏。

4

3 回答 3

2

事实证明,Visual Studio 在实际尝试运行 ASHX 处理程序之前,实际上不会加载用于调试的符号。我的问题原来出在其他地方——调用处理程序的 jQuery 代码中的一个错误。

起初我没有看到这个错误,所以假设处理程序被击中。调用处理程序后,VS 将允许您对其进行调试。我没有意识到 ASHX 处理程序的行为方式是这样的,我认为它们会像普通的 C# 文件一样工作。

于 2013-03-04T15:03:12.557 回答
0

这通常是因为您正在查看的(代码)不是您正在运行的。

尝试投入Debugger.Launch();并查看是否正确附加了调试器。如果确实如此,那么您的问题只是您正在查看与调试无关的代码的不同副本/版本

于 2013-03-04T13:44:09.933 回答
0

是否只有一个 w3wp.exe 尝试右键单击您的 asp.net 项目,从上下文菜单中选择“调试”和“启动新实例”。

于 2013-03-04T13:45:26.460 回答