为什么.net中的对象引用错误异常告诉我哪个对象为null?

jrs*_*tto 11 debugging .net-4.0 nullreferenceexception

也许问这个问题背叛了我对这个过程缺乏了解,但话说回来,没有更好的理由要问!

跟踪这些可能会令人沮丧,因为堆栈跟踪可以帮助我知道从哪里开始查看,但不知道哪个对象为空.

引擎盖下发生了什么?是因为变量名称没有捆绑在可执行文件中吗?

Dam*_*ver 5

使用完全优化而没有调试信息构建的.NET代码:您的本地变量名称消失了,一些局部变量可能已完全消除.

使用完全优化+ PDB(或完全调试)构建的.NET代码:保留了大多数局部变量名,可能已经消除了一些局部变量

没有优化+没有调试信息:局部变量名称消失了.

然后我们必须考虑到你处理的任何东西都可能根本不在局部变量中 - 它可能是前一个函数调用的结果,你正在链接一个新的函数调用.