在C#winform中,我有一个catch块
Exception.ToString()
- >获取抛出异常的代码的异常信息和行号。
在开发中。环境,我得到行号,而当在生产中部署相同的EXE时,我没有得到行号,有什么想法吗?
我如何在生产环境中获得#s行?即使我尝试过StackTrace
类的GetFileLineNumber()
,但它没有给我带来生产环境中的#行。
答案 0 :(得分:10)
仅当为引发异常的代码加载调试符号时,文件名和行号才可用。这些符号位于.pdb文件中,这些文件通常不与生产环境中的程序集一起部署。如果部署这些文件,则应在堆栈跟踪中获取行号信息。
答案 1 :(得分:0)
您需要将PDB文件放在与应用程序相同的目录中才能获得此类信息。发布版本通常不用于调试,因此我不知道为什么您需要从发布版本中获取此信息。