C#VS2012 stacktrace行错了

Vit*_*lii 5 c# exception line stack-trace visual-studio-2012

在我的dll中,一切都很好,直到今天,我不知道出了什么问题.从今天起出现错误的异常行数.

所以在我的方法里面的dll库我插入一行来抛出不支持的异常,但要么我使用调试器,要么只是看日志行中的异常行是错误的!

这是部分代码的图像: 堆栈问题

事实上例外是在391线,这是很长的时间,直到今天.现在在日志中我看到776行,在调试器中也是如此.有人有什么想法吗?

更新1 05/11/2013

阅读完所有答案后(感谢大家为他们=))这里有一些更新:

pdb文件是最新的吗?我想是的,因为我从输出文件夹,重建解决方案中删除了所有内容并查看了相同的问题.我也检查了它的创建日期.

我处于发布模式吗?我认为不是.这是一个带有构建配置的图像
构建配置

代码优化了吗?我创建了另一个测试并删除了NotSupportedException以下的所有内容,但问题仍然在方法的最后,行是397但不是391,就像我们实际上一样 调试测试2

什么是内部异常?空值 内心的感受

Chr*_*ens 5

我几乎肯定你在发布模式下运行你的程序.

在发布模式下编译时,C#编译器将通过程序集启用优化DebuggableAttribute.

JIT编译器是智能的,并且看到第394行和第776行之间的所有代码都是死代码,因为你扔了一个代码,所以无法实现NotSupportedException.

此外,当我们处于发布模式时,pdb具有有限的信息并且启用了JIT优化,因此编译器不能始终将异常堆栈映射到它们发生的确切位置.不过,通常情况下,看看它被抛出的地方并不遥远.