读取堆栈跟踪时:
[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等数字是什么意思。我猜他们已经抵消了什么。如果是这样,是什么?
答案 0 :(得分:15)
我相信他们偏离了方法的代码 - 无论是IL还是JIT编译汇编字节,我都不确定......
(基本上他们取代了行号,当然没有pdbs就无法使用。)
答案 1 :(得分:2)
它是本机代码的字节偏移量。
使用ILDASM,你知道原因。
答案 2 :(得分:2)
答案 3 :(得分:0)
在堆栈跟踪列表的顶部,是当前方法及其详细信息,例如类,程序集,文件名等。
在下面的行中,列出调用前一个方法(上一行中的一个)的方法。在列表下方,它将继续显示调用堆栈,一直返回到程序的开始。
Stack Trace的所有这些详细信息是有益的,因为它列出了方法调用的起源以及中间方法/函数,直到到达当前代码行为止。这非常有帮助,因为如果有多种方法可以访问当前方法,则Stack Track会列出遵循的确切流程。