什么情况下使用远程调试
当你的程序在别的机器上运行,没有源代码,也没有vs,这个时候直接把自己的pdb拷贝过去,很方便的就可以远程调试
一、启用远程调试
可以:
在远程计算机上安装远程调试组件,并在开始调试时启动远程调试监视器 ( msvsmon.exe)。
- 或 -
从一个共享中远程运行远程调试监视器。
从一个文件共享中运行远程调试监视器是启用远程调试的最容易的方法。
在 64 位平台上安装 Visual Studio 时,会将适用于所有三个体系结构的远程调试监视器版本复制到以下文件夹:
安装路径\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger
若要安装其他远程调试组件,请按照本主题中的过程进行操作。
如果共享 Visual Studio 计算机中的远程调试器目录,则可以在远程计算机中运行 msvsmon.exe。下列调试器方案要求您在远程计算机中安装远程调试组件:
单步执行从 WCF 客户端调用的承载服务。
自动调试 ASP.NET Web 应用程序。
两种情况下,都可以进行手动附加,而无需在远程计算机中安装组件。
除了从共享位置运行之外,还可以在远程计算机中安装必要的远程调试组件。
此安装提供对所有远程调试功能的访问。
在 x86 平台上运行远程调试器安装时,仅安装 x86 远程调试组件。
没有用于安装 64 位组件的选项。
如果在 64 位平台上运行远程调试器安装,则会同时安装 x86 和 64 位组件。
开始远程调试
远程调试权限
调试以您的帐户和密码运行的进程:不需要特殊的权限。
调试以另一个帐户名运行的进程:您的 Windows 登录帐户必须是远程计算机上系统管理员组的成员
如何:运行远程调试监视器
远程调试监视器 (msvsmon.exe) 是一个小型应用程序,Visual Studio 与之连接以进行远程调试。
在远程调试过程中,Visual Studio 在一台计算机(调试器主机)上运行,远程调试监视器和正在调试的应用程序在远程计算机上运行。
在开始远程调试前,必须设置远程调试。
此外,还必须确保具有在远程计算机上进行调试所需的权限。
完成这两项操作后,即可运行远程调试监视器,开始远程调试。
首次运行远程调试监视器时,必须在安装远程调试监视器的计算机上配置 Windows 防火墙。
此配置对于启用远程调试是必需的。
在 Windows Vista 上,必须在“用户帐户控制”对话框中授予此配置的权限,该对话框在要求配置时会出现。
如果已使用远程调试器配置向导配置了 Windows 防火墙,则不需要此配置。
启动远程调试监视器
单击 “开始”,指向 “所有程序”,指向 “Visual Studio 2010”,然后单击 “Visual Studio 远程调试器”。
- 或 -
在 Windows 命令提示符下,运行 msvsmon.exe。
“远程调试监视器”作为 Windows 应用程序运行。
用户界面显示 “远程调试监视器”正在运行,并使远程调试易于设置。
现在,可以采用两种模式中的一种来配置远程调试的 “远程调试监视器”:
若要在 Windows 身份验证模式中设置远程调试,请参见 如何:设置 Windows 身份验证模式。
若要在“无身份验证模式”中设置远程调试(仅限本机代码),请参见 如何:设置“无身份验证”模式。
使用无身份验证模式可以在慢速网络上实现较快调试。
但是,这种方式不安全,只应在安全网络中使用。
如何:附加到运行进程
可将 Visual Studio 调试器附加到任何正在运行的进程。
附加到正在运行的进程
-
在 “调试”菜单上选择 “附加到进程”。如果没有打开任何项目,请从 “工具”菜单上选择 “附加到进程”。
-
在 “附加到进程”对话框中的 “可用进程”列表中,找到要附加到的程序。
-
如果要调试的程序运行在另一台计算器上,必须首先选择该远程计算机。
-
如果进程在其他用户帐户下运行,请选中 “显示所有用户的进程”复选框。
-
如果是通过 “远程桌面连接”连接,请选中 “显示所有会话中的进程”复选框。
-
-
在 “附加到”框中,确保待调试的代码类型已经列出。默认的 “自动”设置尝试确定要调试的代码类型。如果自动设置不合适:
-
单击 “选择”。
-
在 “选择代码类型”对话框中,单击 “调试以下代码类型”,然后选择要调试的类型。
-
单击 “确定”。
-
-
单击 “附加”打开 “进程”对话框时,会自动显示 “可用进程”列表。在该对话框打开时进程可以在后台启动和停止。不过,内容并非总是最新的。通过单击 “刷新”,可以随时刷新列表以查看当前进程列表。调试时可以附加到多个程序,但在任何时间,调试器中都只有一个程序处于活动状态。可以在 “调试位置”工具栏或 “进程”窗口中设置活动程序。所有的 “调试”菜单执行命令都会影响活动程序。可以在 “进程”对话框中中断任何已调试的程序,或者通过 “调试”菜单中断所有附加的程序。