我构建了一个正在处理错误并返回以下错误消息的应用程序:
System.NullReferenceException:
Object reference not set to an instance of an object.
at MyApp.Submit_Click(Object sender,EventArgs e)
我没有得到任何堆栈跟踪,并且没有看到没有正确抛出异常的问题.
关于如何捕获此信息,我有几个问题:
>我正在记录exception.ToString(),它通常在我的代码中给出异常,内部异常和stacktrace.我需要.pdb文件来获取堆栈跟踪,还是.pdb仅获得添加行号?
>我在生产中带有关联的dll的.pdb文件,但我相信pdb文件来自较早的版本.这可能会导致捕获调试信息时出现问题,并且比根本没有.pdb文件更糟吗?
谢谢您的帮助!
解决方法:
不,您不需要pdb来查看堆栈跟踪,但是将需要它来获取行号.并且,如果您使用的版本不同步,则最终可能会报告不正确的行号.
您的错误消息确实向您显示了堆栈跟踪,因为单击按钮只是一个堆栈,所以并没有太多内容:
at MyApp.Submit_Click(Object sender,EventArgs e)