我有一个无与伦比的例外,导致异常助手对话框出现。

当我单击“查看详细信息” ...时,异常本身在其自定义对象模型中具有某些值,这些值不会在属性网格中评估,但是我知道我可以在直接的窗口中对其进行评估。 (在这种情况下

不更改代码添加尝试块, ,如何转到即时窗口并评估未手动例外的表达式?

答案可能是我还不知道的魔术,就像吗?currentexception或

涉及的东西 System.Diagnostics.StackFrame 或谁知道。聪明的东西。

有一种使用调试器线程导航到它的方法,但这很复杂。如果您可以采用它,并使用可能是解决方案的包装器使其变得简单。

有帮助吗?

解决方案

您是否尝试将调试器设置为当异常而不是仅仅在用户不合格的情况下打破?

为此,请访问VS2010主菜单,然后选择“调试”菜单下一个选择“异常...”

这将提出一个对话框:Debug - loading= Exceptions.. menu">

选择扔列列

现在,当您的异常抛出时,您应该能够在即时窗口中评估本地变量。

在当地选项卡中,我可以看到$异常变量:Local variables contains $exception

我能够在即时窗口中使用“ $ extifion”变量:Immediate Window accessing $exception

更新: 还可以轻松切换异常处理,建议您使用 例外破坏者视觉工作室扩展, ,这使您可以切断从工具栏打开和关闭的异常处理,而不必钻入调试菜单。

其他提示

我不知道Visual Studio 2010,但在2012年视觉工作室中,当时发生了一个未经治疗的例外情况,已显示 Locals 名称的窗口 $exception.

有一个物业不会在属性网格中进行评估

如果无法评估该物业,调试器将无法帮助您 如您所见;因此,直接的窗口只会做同样的事情。

我有一个无效的属性,因此它将在VS2010中引发例外,并在我尝试评估时导致调试器崩溃。从物业中返回的无效对调试器不好。

我建议你去 old school 在这个问题上 trace.write 在属性和其他地方,并在输出窗口中监视写报告。

如何在Visual C#中追踪和调试

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top