首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >堆栈跟踪中方法名末尾的"+n“值是什么意思?

堆栈跟踪中方法名末尾的"+n“值是什么意思?
EN

Stack Overflow用户
提问于 2008-11-20 13:10:39
回答 3查看 4.8K关注 0票数 20

在读取堆栈跟踪时,如:

代码语言:javascript
复制
[FormatException: Input string was not in a correct format.]
   System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +2755599
   System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +112
   System.Convert.ToInt32(String value) +68

+68、+112等数字是什么意思?我猜它们是对某些东西的补偿。如果是这样,是什么?

EN

回答 3

Stack Overflow用户

发布于 2008-11-20 13:14:46

我相信它们是方法代码中的偏移量-无论是IL还是JIT编译的汇编字节,我不确定...

(基本上,它们取代了行号,没有pdbs行号当然是不可用的。)

票数 15
EN

Stack Overflow用户

发布于 2008-11-20 13:19:51

它是本机代码中的字节偏移量。

使用ILDASM,您就知道原因了。

票数 2
EN

Stack Overflow用户

发布于 2020-01-02 13:58:59

简单地说,Stack Trace是流中函数/方法的反向时间顺序列表,直到当前代码。也就是说,直到命中断点或发生异常为止。

堆栈跟踪列表的顶部是当前方法及其详细信息,如Class、Assembly、filename等。

在接下来的几行中,列出调用前一个方法(上面一行中的一个)的方法。沿着列表往下看,这将继续显示调用堆栈,一直到程序的开头。

Stack Trace的所有这些细节都是有益的,因为它列出了方法调用的来源和中间方法/函数,直到它到达当前代码行。这非常有用,因为如果有多种方法可以访问当前方法,Stack Track会列出所遵循的确切流程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/305244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档