我正在尝试调试客户端向我们报告的错误.堆栈跟踪只有字节偏移,而不是行号.
例如
[NullReferenceException:对象引用未设置为对象的实例.]
Foo.Bar(FooFoo p)+32 Foo.BarBar()+
191
Foo.BarBarBar()+15
如何将这些字节偏移反向工程为代码/方法调用等?
如何找到抛出NullReferenceException的位置?
这是一个可能有效(或可能不是:)的解决方案.问题是偏移和行号之间的映射包含在pdb(又称调试符号)中
ildasm,将其添加到PATH或复制到某处.ildasm /LINENUM /SOURCE YourFile.exe.它将输出具有偏移和源线映射的IL.我看到的唯一问题是你无法生成完全相同的二进制文件和映射可能会发生变化.