gpt4 book ai didi

c# - 获取 NullReferenceException 的变量名

转载 作者:太空狗 更新时间:2023-10-29 21:16:51 25 4
gpt4 key购买 nike

NullReferenceException 的堆栈跟踪信息非常少,它们仅包括方法名称和调用堆栈。方法中的任何变量都可以为空,并且当错误在开发机器上不可重现时很难调试。

您是否知道获取有关该错误的更多信息的方法,也许是获取变量名称?或者您有更好的调试方法吗?

最佳答案

跟踪那个名字并不总是可能的(它可能是一个表达式)。
在可能的情况下,它会产生 Not Acceptable 开销。考虑到运行时必须跟踪几乎所有引用变量,这将是昂贵的并且禁止各种优化。

另请参阅我在 Inspect the managed stack 上的回答及其引用的博客文章。

简单的解决方案是在您自己的代码中构建更一致的空检查:

void Foo(Bar b)
{
if (b == null) throw new ArgumentNullException(nameof(b));

...
}

关于c# - 获取 NullReferenceException 的变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34442419/

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