Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从没有.pdb文件的.NET异常中获取行号_C#_.net_Deployment - Fatal编程技术网

C# 从没有.pdb文件的.NET异常中获取行号

C# 从没有.pdb文件的.NET异常中获取行号,c#,.net,deployment,C#,.net,Deployment,可能重复: 目前,我有一个.NET Windows应用程序,我没有使用它部署pdb文件。若一个客户端得到一个异常,我会在尼斯窗口中显示它和堆栈跟踪,这样他们就可以通过电子邮件发送给我。我也在考虑部署pdb文件,以便在堆栈跟踪中获得行号 现在我想知道是否有更好的方法。pdb文件的大小大约是我安装的两倍,这是我不喜欢的。有没有一种方法可以捕获异常并创建某种转储文件,用户可以发送给我,然后我可以调试该信息并检索行号 如果没有通用的简单方法,那么我将部署pdb文件并使用它。如果您需要行号而不仅仅是堆

可能重复:

目前,我有一个.NET Windows应用程序,我没有使用它部署pdb文件。若一个客户端得到一个异常,我会在尼斯窗口中显示它和堆栈跟踪,这样他们就可以通过电子邮件发送给我。我也在考虑部署pdb文件,以便在堆栈跟踪中获得行号

现在我想知道是否有更好的方法。pdb文件的大小大约是我安装的两倍,这是我不喜欢的。有没有一种方法可以捕获异常并创建某种转储文件,用户可以发送给我,然后我可以调试该信息并检索行号


如果没有通用的简单方法,那么我将部署pdb文件并使用它。

如果您需要行号而不仅仅是堆栈跟踪,那么您的方法不符合良好的软件设计要求。:)我同意@bzlm,但我认为部署PDB文件是一个简单的临时解决方案。您将获得的行号不可靠,抖动优化器将被启用,它会移动代码。假设您不知道这一点,那么如果没有他们,您可能会过得更好,因为他们会有一种将您引导到错误方向的诀窍。@blzm-好的软件设计与知道异常的行号无关。异常发生在一个有20行(良好的软件实践)但没有行号的方法中。我还有很多工作要做,以找出哪里出了问题。“诊断问题的信息越多越好。”@HansPassant-你能解释一下为什么它们不可靠吗?我为WinForms应用程序(大型内部应用程序)部署pdb已经两年了,几乎从未被堆栈跟踪中的行号所误导。当我有它是由于用户有一个旧版本的主线代码基础比我,但我有信息在TFS历史。