【发布时间】:2009-09-10 16:21:13
【问题描述】:
通常,Visual Studio 在遇到未处理的异常时会中断并显示异常助手窗口。
但在某些情况下,Visual Studio 只是停止正在运行的程序,不会中断或显示异常帮助程序。
异常选项 (Ctrl+Alt+E) 配置正确:所有项目都选中“用户未处理”,未选中“抛出”。在调试选项中,我启用了异常助手。
因为它只发生在某些情况下,我试图弄清楚 Visual Studio 何时进入其“故障异常助手状态”。
编辑:
看起来故障异常助手 ghost 只出现在 winforms 应用程序中,并且只有在调用 Web 服务或打开数据库连接等外部操作之后才会出现。
结束编辑
在打开 ADODB 连接之前,异常助手工作正常:
var conn = new ADODB.Connection(); conn.Open("Provider=SQLOLEDB;Server=localhost;Database=db;UID=user;PWD=pw;", "", "", -1); throw new InvalidOperationException();执行 conn.Open 语句后,异常助手永远不会启动。
这听起来对任何人来说都很熟悉,更重要的是:有没有人有解决这个问题的方法?可以想象,如果应用程序总是因为异常而退出,那么调试应用程序会变得非常困难。
【问题讨论】:
-
到目前为止没有回复,所以我想知道:这只是我机器的问题,还是其他人能够使用上面提供的代码重现此行为?如果有人可以对此进行测试,我将不胜感激。创建一个引用 adodb 的新项目,并将代码示例复制到其中。调试应该在 throw 语句上停止(而不是中断)。
-
希望您能得到答复。在让 Visual Studio 宏工作时,我遇到的情况听起来像您的情况。我正在尝试按照在这个问题中的方式将横幅添加到源代码文件中:stackoverflow.com/questions/415101/…
标签: visual-studio visual-studio-2008