相关疑难解决方法(0)

当它被抛出并被捕获时,不要停止调试器

在工具/异常中,我设置了调试器在抛出异常时停止的选项.是否被抓住.

如何排除该规则的例外?在我的代码中的某处有一个被捕获的异常,它是程序逻辑的一部分.所以我显然不希望该异常在每次命中时停止调试器.

示例:我想忽略第344行的nullreference异常(捕获).我想停止所有其他例外

.net c# debugging .net-3.5 visual-studio-2008

91
推荐指数
4
解决办法
3万
查看次数

有没有办法阻止Visual Studio打破特定方法中的异常?

我知道我可以控制Visual Studio根据类型处理异常的方式,以及最终使用"异常"对话框捕获异常的事实.

但是,ArgumentOutOfRange当我调用特定方法时,我有一个内部抛出(并捕获)异常的库 .抛出异常(并被库捕获)可能有1%的时间,但我正在调用这个方法.编辑说这是设计的(事实上,他们选择的设计是有道理的).

问题是每次抛出异常时我都不希望Visual Studio中断.

  • 我不想停止打破ArgumentOutOfRange异常,因为我可能在我的代码中有一些并想要打破这些.
  • 我不想启用"只是我的代码"调试,因为我担心我的代码之外抛出的异常(特别是出于性能原因)

有没有办法实现这个目标?我一直在研究属性(例如DebuggerStepThrough),但还没找到足够的东西.

关于如何做到这一点的任何提示?

debugging exception visual-studio-2010 visual-studio visual-studio-debugging

12
推荐指数
1
解决办法
1977
查看次数

Visual Studio认为"用户代码"是什么?

假设我有一个抛出异常的函数.假设此函数由第三方DLL调用,第三方DLL将处理我抛出的异常.

如果Visual Studio决定第三方DLL不是"用户代码"(如下图所示),那么默认情况下它将在我的异常中停止,即使它稍后处理.这样做并非完全错误 ; 它清楚地解释了用户代码未处理异常.但是,是什么让Visual Studio将一些DLL称为"用户代码"而其他人不是?

在此输入图像描述

我有一个理论认为这是因为没有加载符号,但是列表中的模块已经加载了符号,但仍然不被视为"用户代码".

debugging visual-studio-2010 visual-studio-debugging

12
推荐指数
1
解决办法
2674
查看次数