.net - 在 dot net app 中没有获得异常的行号

标签 .net

我有一个用 .Net 3.0 VS2008 编写的数据迁移应用程序。

我已经在 Debug模式下部署并复制了 PDB
文件到我要运行的服务器。

我得到一个异常(exception),但没有行号。

这就是我显示异常的方式

为什么没有异常的行号???

马尔科姆

       string msg = string.Format("{0} {1} {2}",ex.Message,ex.StackTrace.ToString(),ex.Source.ToString());               
        if(ex.InnerException != null)
            msg += string.Format(" {0}", ex.InnerException.ToString());
        return msg;

最佳答案

如果你没有得到行号,那么要么

a) .NET 运行时确定 .pdb 与程序集不匹配(过时、使用优化编译等)

或者

b) 程序集运行的目录不同于包含 .pdb 的目录(例如,Windows 服务在 %WINDOWS%\System32 下运行)

这听起来不像第一种可能性适用于您,那么这是 Windows 服务还是执行目录正在更改?

无论如何,您应该可以使用 AppDomain.CurrentDomain.BaseDirectory属性来确定将在何处搜索程序集和 .pdb(默认情况下,这可以被覆盖,但如果它被更改,应该是一个很好的指示器)

关于.net - 在 dot net app 中没有获得异常的行号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/819895/

相关文章:

.net - 如何在 C#.NET 中保持存储过程 DRY?

c# - 将参数传递给 Silverlight OOB 应用程序

c# - IReflect 和 DispId

.net - CLR JIT 优化违反了因果关系?

.net - Visual Studio 是否可以像使用 app.config 一样自动调整其他文件的名称?

c# - 如何使用 Linq 从列表中提取这些数据?

C# 到 VB.net 项目转换

.net - Delphi 与 .NET 的互操作性

c# - 重载最佳实践

.net - WinForm控件列出目录中的文件