调用 Trace.Fail() 最终总是会中断代码执行

问题描述 投票:0回答:1

使用

Trace.Fail()
方法时,代码执行(无论是调试还是发布)将始终停在这一行(226)

if (AutoFlush) listener.Flush();

采用

TraceInternal.Fail()
方法。

它的行为就像这一行有一个断点,但它不是我的代码(它是内置的

System.Diagnostics
类之一)。

我想这与我所做的更改有关,即允许调试器进入其他汇编代码(如果调试符号可用),以简化我的库调试。

我在这里遗漏了什么吗?

c# visual-studio debugging system.diagnostics
1个回答
0
投票

当您允许调试器单步执行外部程序集代码(即加载其他程序集的调试符号)时,Visual Studio 可能会“暂停”或表现为这些程序集代码中的断点,尤其是当 TraceInternal.Fail() 为从 Trace.Fail() 方法中调用。

如果您不希望发生此行为,请在 Visual Studio 中转至“工具”>“选项”>“调试”>“常规”,并确保选中“仅启用我的代码”选项。启用此选项后,调试器将仅在您自己的代码中暂停,而不会单步执行系统程序集的代码。

© www.soinside.com 2019 - 2024. All rights reserved.