Ori*_*rds 20 debugging exception visual-studio-2008
简述:
在Visual Studio 2008中,Debug菜单有一个Exceptions...选项.
单击此按钮时,将显示"抛出异常时中断"对话框,其中勾选"公共语言运行时异常"旁边的框.
我希望能够以编程方式勾选/取消选中此框.
阐述:
这会导致调试器在抛出任何CLR异常时中断(而不是当它被捕获并重新抛出时),因此这对于故障排除很有用.
问题是,它捕获了所有CLR异常,并且.NET框架恰好在内部抛出并捕获一堆异常,这些异常也会被捕获.这导致调试器打破了一堆我真正不关心的异常,因为它们是框架的内部而不是问题.
WCF 在这方面特别糟糕,幸运的是,我的应用程序在整个地方使用WCF.
我想做的是,关闭复选框,一旦我的应用程序启动(并通过WCF连接阶段和所有内部异常),然后打开它,打破现在的所有异常在.
Mic*_*uer 30
您可以通过Visual Studio的自动化API(称为DTE)打开/关闭它们.看一下Debugger3.ExceptionGroups API.例如:
' Turn off NullArgumentException.
Dim debugger As Debugger3 = DTE.Debugger
Dim exceptionGroup As ExceptionSettings = dbg.ExceptionGroups.Item("Common Language Runtime Exceptions")
exceptionGroup.SetBreakWhenThrown(False, "System.NullArgumentException")
Run Code Online (Sandbox Code Playgroud)
因此,您可以轻松编写宏来打开/关闭特定异常.要从应用程序调用宏,可以启动"devenv/command".
或者,您可以从out-of proc中使用DTE并直接自动化Visual Studio(不涉及宏).
更多信息:
| 归档时间: |
|
| 查看次数: |
7234 次 |
| 最近记录: |