如何:附加到运行进程
更新:2007 年 11 月
本主题适用于:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
速成版 |
||||
标准版 |
||||
专业及团队版 |
表格图例:
适用 |
|
不适用 |
|
默认情况下隐藏的一条或多条命令。 |
可将 Visual Studio 调试器附加到任何正在运行的进程。
附加到正在运行的进程
在“调试”菜单上选择“附加到进程”。(如果没有打开任何项目,请从“工具”菜单中选择“附加到进程”。)
在“附加到进程”对话框中的“可用进程”列表中,找到要附加到的程序。
如果要调试的程序运行在另一台计算器上,必须首先选择该远程计算机。(有关更多信息,请参见如何:选择远程计算机。)
如果进程在其他用户帐户下运行,请选中“显示所有用户的进程”复选框。
如果是通过“远程桌面连接”连接,请选中“显示所有会话中的进程”复选框。
在“附加到”框中,确保待调试的代码类型已经列出。默认的“自动”设置尝试确定要调试的代码类型。如果自动设置不合适:
单击“选择”。
在“选择代码类型”对话框中,单击“调试以下代码类型”,然后选择要调试的类型。
单击“确定”。
单击“附加”。
打开“进程”对话框时,会自动显示“可用进程”列表。在该对话框打开时进程可以在后台启动和停止。不过,内容并非总是最新的。通过单击“刷新”,可以随时刷新列表以查看当前进程列表。
调试时可以附加到多个程序,但在任何时间,调试器中都只有一个程序处于活动状态。可以在“调试位置”工具栏或“进程”窗口中设置活动程序。有关更多信息,请参见如何:设置当前程序。
所有的“调试”菜单执行命令都会影响活动程序。可以在“进程”对话框中中断任何已调试的程序,或者通过“调试”菜单中断所有附加的程序。有关更多信息,请参见如何:中断执行。
说明: 为了使调试器附加到用 Visual C++ 编写的托管代码,该代码需要发出 DebuggableAttribute。可通过链接 /ASSEMBLYDEBUG 链接器选项将它自动添加到代码中。
如果试图附加到不受信任的用户帐户拥有的进程,则会出现安全警告对话框确认。有关更多信息,请参见安全警告: 附加到不可信用户拥有的进程可能存在危险。如果以下信息看起来可疑或您不确信其是否可靠,请不要附加到此进程。。
在某些情况下,在“远程桌面”(“终端服务”)会话中进行调试时,“可用进程”列表不会显示所有可用进程。在 Windows Server 2003 或更高版本中,如果您以具有有限用户帐户的用户身份运行 Visual Studio,“可用进程”列表将不显示在会话 0 中运行的进程,会话 0 用于服务与其他服务器进程,包括 w3wp.exe。您可以通过以下方法解决该问题:使用管理员帐户运行 Visual Studio 或从服务器控制台而不是“终端服务”会话运行 Visual Studio。如果这两种解决方法都不奏效,第三种方法是通过从 Windows 命令行运行 vsjitdebugger.exe -p进程Id 来附加到进程。您可以使用 tlist.exe 来确定进程 ID。要获得 tlist.exe,请下载并安装用于 Windows 的调试工具(可从 https://www.microsoft.com/whdc/devtools/debugging/default.mspx 获得)。
请参见
任务
概念
参考
安全警告: 附加到不可信用户拥有的进程可能存在危险。如果以下信息看起来可疑或您不确信其是否可靠,请不要附加到此进程。