gpt4 book ai didi

c# - FirstChanceException 的完整堆栈

转载 作者:太空宇宙 更新时间:2023-11-03 21:12:57 24 4
gpt4 key购买 nike

目前,我们有机会在应用程序域上使用以下方法设置异常处理程序:

AppDomain.CurrentDomain.FirstChanceException += FirstChanceHandler;

该解决方案的问题在于,它只为我们提供了引发错误的确切行和方法的堆栈跟踪,而不是冒泡的那些。我们需要在导致此异常的链上获取方法的上下文。

尽管异常被第三方库处理和吞没(尽管这是不正确的),但我们仍然需要该上下文,因为第三方库中该上下文有其他信息。

目前我们可以通过劫持他们的记录器来获得它,但这似乎是个坏主意;如果他们的日志记录实现发生变化,我们将无法访问底层信息/上下文。与日志记录相比,异常不太可能发生变化。

有办法解决这个问题吗?

最佳答案

我实际上不能用它做我想做的事;出于最有道理的原因。但无论如何我确实找到了答案,所以为了任何 google 员工的利益,只需在事件处理程序中使用以下代码:

var stack = new StackTrace(true);

关于c# - FirstChanceException 的完整堆栈,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36454044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com