Vit*_*lii 5 c# exception line stack-trace visual-studio-2012
在我的dll中,一切都很好,直到今天,我不知道出了什么问题.从今天起出现错误的异常行数.
所以在我的方法里面的dll库我插入一行来抛出不支持的异常,但要么我使用调试器,要么只是看日志行中的异常行是错误的!
这是部分代码的图像:
事实上例外是在391线,这是很长的时间,直到今天.现在在日志中我看到776行,在调试器中也是如此.有人有什么想法吗?
更新1 05/11/2013
阅读完所有答案后(感谢大家为他们=))这里有一些更新:
pdb文件是最新的吗?我想是的,因为我从输出文件夹,重建解决方案中删除了所有内容并查看了相同的问题.我也检查了它的创建日期.
我处于发布模式吗?我认为不是.这是一个带有构建配置的图像
代码优化了吗?我创建了另一个测试并删除了NotSupportedException以下的所有内容,但问题仍然在方法的最后,行是397但不是391,就像我们实际上一样
什么是内部异常?空值

我几乎肯定你在发布模式下运行你的程序.
在发布模式下编译时,C#编译器将通过程序集启用优化DebuggableAttribute.
JIT编译器是智能的,并且看到第394行和第776行之间的所有代码都是死代码,因为你扔了一个代码,所以无法实现NotSupportedException.
此外,当我们处于发布模式时,pdb具有有限的信息并且启用了JIT优化,因此编译器不能始终将异常堆栈映射到它们发生的确切位置.不过,通常情况下,看看它被抛出的地方并不遥远.
| 归档时间: |
|
| 查看次数: |
996 次 |
| 最近记录: |