1

可能重复:
C# 异常没有给出行号

在 C# winform 中,我有一个 catch 块

Exception.ToString()-> 获取异常信息和抛出异常的代码行号。

在开发中。环境中,我得到了行号,而当在生产中部署相同的 EXE 时,我没有得到行号,有什么想法吗?

如何在生产环境中获取 line #s?即使我尝试过 StackTrace

class 的GetFileLineNumber(),但它并没有在生产环境中给我带来 # 行。

4

2 回答 2

10

仅当为引发异常的代码加载调试符号时,文件名和行号才可用。这些符号位于 .pdb 文件中,这些文件通常不与生产环境中的程序集一起部署。如果您部署这些文件,您应该在堆栈跟踪中获得行号信息。

于 2012-09-19T15:45:09.730 回答
0

您需要将 PDB 文件与应用程序放在同一目录中才能获取此类信息。但是,发布版本通常不用于调试,所以我不知道为什么您需要来自发布版本的这些信息。

于 2012-09-19T15:45:11.667 回答