C# 如何使用PDB文件调试应用程序?

C# 如何使用PDB文件调试应用程序?,c#,visual-studio-2008,debugging,C#,Visual Studio 2008,Debugging,我创建了一个简单的winform项目,添加了一个带有触发器的方法的类库 IndexOutOfRangeException 表单调用此库并显示未处理的异常。 我用pdb文件在发布模式下构建所有内容 当我运行Exe时,我会看到包含错误信息的错误报告窗口。 现在怎么办?如何在此错误报告中使用PDB文件调试程序?使用PDB文件最简单的方法是让Visual Studio完成繁重的工作-使用Visual Studio的“调试”命令(默认情况下为F5)启动程序,或者运行程序并使用Visual Studio的“

我创建了一个简单的winform项目,添加了一个带有触发器的方法的类库 IndexOutOfRangeException

表单调用此库并显示未处理的异常。
我用pdb文件在发布模式下构建所有内容

当我运行Exe时,我会看到包含错误信息的错误报告窗口。

现在怎么办?如何在此错误报告中使用PDB文件调试程序?

使用PDB文件最简单的方法是让Visual Studio完成繁重的工作-使用Visual Studio的“调试”命令(默认情况下为F5)启动程序,或者运行程序并使用Visual Studio的“调试”菜单中的“附加到进程”项。如果PDB与可执行文件位于同一目录中,Visual Studio应该检测并使用它,而无需您进一步干预。

在VS 2013中(我不知道VS 2008),这是运行程序并在调试菜单中使用“附加到进程”的替代方法,如接受的答案中所述,要在类中开始调试的行之前添加:

Debugger.Launch();
using System.Diagnostics;
同时在班级的顶部添加这一行:

Debugger.Launch();
using System.Diagnostics;

然后重新编译代码。如果您希望附加到使用此类的任何进程,这将非常有用。

我假设您询问的是“报告问题”对话框-如果此时您的应用程序已被终止,调试为时已晚。所以不,不需要使用pdb文件。这对我来说很有效!在输入您提到的代码并通过Delphi应用程序启动我的dll后,Windows问我是否要使用打开的Visual Studio实例调试此代码,并且工作得非常出色!