使用/不使用pdb文件调试C#生产应用程序
本文关键字:调试 应用程序 文件 pdb 使用 | 更新日期: 2023-09-27 18:19:39
我构建了一个处理错误并返回以下错误消息的应用程序:
System.NullReferenceException:
Object reference not set to an instance of an object.
at MyApp.Submit_Click(Object sender,EventArgs e)
我没有得到任何堆栈跟踪,也没有发现异常未正确抛出的问题。
关于如何获取这些信息,我有几个问题:
- 我正在记录
exception.ToString()
,它通常在我的代码中给我异常、内部异常和堆栈争用。我需要.pdb文件来获取堆栈跟踪,还是.pdb只会添加行号 - 我有一个生产中的.pdb文件和相关的dll,但我相信这个pdb文件来自旧版本。这会不会导致捕获调试信息的问题,并且比根本没有.pdb文件更糟糕
谢谢你的帮助!
不,您不需要pdb来查看堆栈跟踪,但您需要它来获取行号。而且,如果你有一个不同步的版本,你可能会报告不正确的行号。
你的错误消息确实显示了堆栈跟踪,只是没有太多,因为它是一个按钮点击:
at MyApp.Submit_Click(Object sender,EventArgs e)