3

我构建了一个正在处理错误并返回以下错误消息的应用程序:

System.NullReferenceException:  
Object reference not set to an instance of an object. 
  at MyApp.Submit_Click(Object sender,EventArgs e)

我没有得到任何堆栈跟踪,也没有看到没有正确抛出异常的问题。

我有几个关于如何捕获这些信息的问题:

  1. 我正在记录exception.ToString()通常在我的代码中给我异常、内部异常和堆栈跟踪的内容。我需要 .pdb 文件来获取堆栈跟踪,还是 .pdb 只会添加行号?
  2. 我在生产中有一个带有关联 dll 的 .pdb 文件,但我相信 pdb 文件来自较旧的版本。这是否会导致捕获调试信息出现问题,并且比根本没有 .pdb 文件更糟糕?

谢谢您的帮助!

4

1 回答 1

3

不,您不需要 pdb 来查看堆栈跟踪,但您需要它来获取行号。而且,如果您的版本不同步,您最终可能会报告错误的行号。

您的错误消息确实向您显示了堆栈跟踪,只是没有太多,因为它是一个按钮单击:

at MyApp.Submit_Click(Object sender,EventArgs e)
于 2012-01-05T02:36:25.840 回答