获取例外的行号

时间:2012-09-19 15:42:40

标签: c# .net vb.net winforms exception

  

可能重复:
  C# Exceptions Not Giving Line Numbers

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

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

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

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

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

2 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:0)

您需要将PDB文件放在与应用程序相同的目录中才能获得此类信息。发布版本通常不用于调试,因此我不知道为什么您需要从发布版本中获取此信息。