在Visual Studio 2010中附加到进程是什么意思?

时间:2011-08-02 19:42:01

标签: c# visual-studio-2010 debugging

我在调试菜单下看到过这个选项,但我并不完全明白这意味着什么。有人可以向我解释一下吗?提前谢谢。

5 个答案:

答案 0 :(得分:11)

enter image description here您可以将调试器附加到已经运行的程序,而不是按F5来启动应用程序的实例(或按绿色的“go”按钮)。当您/可以/附加到记事本的实例时,由于记事本不是.net应用程序,并且您没有记事本的.pdb调试符号,因此它不会有太多好处。

附加到已运行的程序实例(或运行代码的Internet Explorer实例)...

  • 编译非优化
  • 编译“完整”调试符号( 默认为DEBUG配置)
  • 确保.pdb文件位于 与.pdb相同的目录(或者您可以手动找到它们)
  • 确保代码与编译时的路径相同(或 你必须手动找到它)

答案 1 :(得分:10)

当您附加到进程时,您正在使调试器附加到进程,并允许您在代码中设置尚未从调试器启动的断点。这在尝试调试具有自动生成过程的事物(例如在IIS下运行的.NET代码)的情况下非常有用。

答案 2 :(得分:6)

我不知道官方文档说的是什么,但这就是我使用它的方式。

如果您正在一个持续运行的项目中工作,比如在IIS或Windows服务中部署的网站,并且您在VS中打开了正在运行的程序代码的解决方案,则可以附加到该流程并对其进行调试就好像你已经启动它击中F5,设置断点等。它还允许附加到远程机器中运行的进程(如果它已正确配置),如果您正在调试服务器中调试进程或类似的东西。

您只需要确保您编辑的代码是用于编译二进制文件的代码。

答案 3 :(得分:3)

您可以将调试器附加到正在运行的进程并开始调试它的位置。仅当您具有可执行文件的调试信息时才非常有用。

如果我的程序遇到异常并且我还没有调试它,我倾向于使用它。我可以附加然后查看变量并调用堆栈。

答案 4 :(得分:2)

这意味着将调试器(即visual studio的集成调试器)附加到进程,以便您可以暂停它并在运行时检查变量。当您自动点击F5时,或者可以使用调试菜单手动完成时,会发生这种情况。