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

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

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

var result = myString.Trim(); 

但它没有像这样的行:

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

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

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

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