调试asp.net突然停止

时间:2010-06-17 12:45:21

标签: c# asp.net debugging

我有一个奇怪的错误。我正在调试一个asp.net网站,突然停止了。 Visual Studio保持调试模式,我的Web应用程序保持正常运行。我发现了this帖子,但我不认为后台线程会导致问题。有一个尝试捕获代码通常停止调试,但捕获不会被触发...每次我尝试它,它停在代码中的不同位置。

6 个答案:

答案 0 :(得分:7)

您是否已将调试器设置为中断所有异常,而不仅仅是未处理的异常?

调试 - >例外 - >检查“Thrown”框以查找所有内容(或至少只是公共语言运行时例外)。如果在调试期间抛出异常,在任何线程上,这都应该导致调试器突出显示并打破“thrower”。

要尝试的另一件事是重置所有IDE设置。在设置损坏并且IDE停止合理行为之前,我有各种奇怪的行为:工具 - >导入和导出设置 - >重置所有设置。

除了Daniel Dyson的回答 - 如果你按照他的建议“暂停”(一旦调试“停止”),打开“Threads”调试窗口。是否有任何线程显示在“位置列”中有条目。如果是这样,这可能是您的代码执行。依次点击每个。你能解释每个线程正在做什么,或者这是否说明了这种奇怪的行为?

答案 1 :(得分:4)

您是否尝试过点击暂停||按钮?这将暂停调试器在任何位置执行,所以如果你在try catch块之外的无限循环中,你将能够找到它。

答案 2 :(得分:1)

在Global.asax中的Application_Error事件中添加断点。

答案 3 :(得分:1)

检查ide中的模式,将其设置为Debug to to Release。

因为如果将应用程序设置为“发布”模式,则无法对其进行调试。

检查详情:http://msdn.microsoft.com/en-us/library/e8z01xdh(VS.80).aspx

答案 4 :(得分:1)

确保IIS配置中的“Ping Enabled”设置设置为“False”。

在IIS7中,右键单击AppPool,选择“高级设置”,向下导航到Ping Enabled设置并将其更改为false。

如果您使用的是IIS6,则设置略有不同。如果我没记错的话,我相信它被称为“Ping Interval”,它被设置为几秒钟。

答案 5 :(得分:0)

我解决了同样的问题。我将解决方案发布在这里,希望将来对您有所帮助。

这是我的病情:

  1. 我使用Visual Studio 2015在Unity(统一的Visual Studio工具)上调试游戏

  2. 调试几分钟后,调试箭头消失。

原因是什么

我已启用“在源代码中显示线程”。

解决方案:

禁用“显示源代码中的线程”,然后重新启动Visual Studio(如果使用的是Unity,则重新启动Unity。)。

VisualStudioShowThread.JPG

  1. 运行调试以使按钮“显示源代码中的线程”出现。

  2. 禁用“显示源代码中的线程”。

  3. 关闭Visual Studio(和Unity)。

  4. 打开Visual Studio(和Unity)