使用Visual Studio进行远程调试
关键字
- 远程调试器
- Windows凭证
- pdb符号文件
- 进程调试(远程调试)
过程
准备应用程序
在客户机A上使用C#编写ConsoleApplication工程并并以“DEBUG配置”生成,然后将生成的ConsoleApplication.exe拷贝至服务器S运行,并将此工程拷贝至客户机B上。
注意“RELEASE配置”的不同在于以下配置,会导致远程调戏时会出现“由于代码方法优化,无法监视变量的值”之类的信息:
- “调试信息”选项为“pdb-only”
- “优化代码”选项为“勾选”状态
准备调试器
- 将“安装路径 \Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger”拷贝至服务器S上运行
- 在客户机B上使用“telnet 服务器地址 4016”确定与服务器S的“远程调试器”的连接畅通
在客户机B上添加服务器S的windows凭证
打开Windows的“控制面板/凭证管理器”,添加一个“windows凭证”,需要输入服务器的地址、用户名与密码
在客户机B上使用VS进行调试
- 点击菜单“调试/附加到进程...”后,将服务器的IP或主机名填写至“限定符”文本框后回车,在下面的列表框中选择“ConsoleApplication.exe”后点击“附加”
- 点击菜单“调试/窗口/模块”,右击ConsoleApplication.exe模块选择“符号设置...”,并在弹出来的对话框中将pdb文件所在的目录加入进入后点击确定,然后再点击模块选择“加载符号”
- 打开“*.cs”源代码文件(不需要打开整个工程)后下断点调试
建议
在“符号对话框”中为应用程序设置符号文件目录后,再在同一机上使用VS打开工程,可能会弹出“启用了优化或没有调试信息”之类的信息而发现无法断点调试了,此时进入符号对话框中将符号目录移除,并点击“指定排除的模块”在弹出的对话框中移除相应的应用程序即可
勉強心を持てば、生活は虚しくない!