有没有办法找出导致NullReferenceException的对象?

时间:2011-08-08 09:25:39

标签: c# asp.net

有没有办法找到导致控件从NullReferenceException流入catch块的对象名,这样我们就可以通过提供警报或记录null的对象来轻松调试?

3 个答案:

答案 0 :(得分:9)

没有。
您只能获得包含行号的堆栈跟踪 这可以帮助您完成这样的简单情况:

var result = myString.Trim();

但它在这样的行中没有帮助:

var result = myObj.Method1().Method2();

答案 1 :(得分:2)

对象的名称是什么?它是我们程序员的设计时令牌,它识别对象引用,但它只有在编译之前才有意义。

某些对象具有专用的Name属性,但它不会(也不应该)与代码中对象引用的名称有任何关系,视觉设计师在Name属性之后命名对象引用是礼貌的,但这是一个惯例而不是要求。此外,null引用不能仅具有Name属性,因为引用是 null ,它尚未分配给具有可读Name的任何对象。

答案 2 :(得分:0)

那么你可以查看堆栈跟踪,反映功能,并显示参数并根据堆栈状态进行猜测,但我会说不是因为对象可能在任何地方功能。