Visual Studio远程调试
2015-12-11 14:23
561 查看
使用场景
常用的主要是在部署的机器上程序出现问题, 而一般的部署机器上没有开发环境,此时需要准确的定位出错的原因时使用。进行远程调试时,主机可以是任何支持 Visual Studio 的平台。远程计算机可以是 32 位或 64 位平台。
下面是总结的远程调试的步骤和注意事项
步骤
一、在远程计算机安装调试器1、将vs工具里的Remote Debugger文件夹拷贝到目标机器。
2、从控制面板中找到“控制面板\系统和安全\管理工具→本地安全策略“,然后找到 “本地策略”—>"安全选项”,然后在右侧找到“网络访问:本地账户的共享和安全模式”,选
中,设置为“经典:本地用户以自己的身份验证”。
3、将需要调试的dll重新生成一下,把dll和pdb文件拷到可执行程序(.exe)所在目录或已发布好的网站bin目录底下,并共享该目录。
3、打开vs远程调试监视器(“msvsmon.exe”),会出现下图中的窗口,点击选项菜单,选中无身份验证和允许任何用户进行调试。然后点击确定,这样,远程计算机就设
置好了。当然,别忘了在远程计算机上启动你要调试的程序。
【注】一般都是临时使用调试,因此不要作为服务运行,为了减少安全的配置,最好把防火墙临时关闭,调试结束后再开启。
二、本地计算机配置和调试
1、创建一个用户与远程用户名与密码安全相同,也可以修改当前使用的用户名和密码实现,无需新建用户,方法如下:
在“我的电脑”图标上点击右健,选择“管理”,然后找到“本地用户和组”-》“用户”,然后在当前用户的用户名上点击右键,选择“重命名”为与远程相同,然后再重新设置密码
与远程相同即可。
2、启动调试。打开项目,将生成路径指向远程计算机共享的目录,从调试菜单打开附加到进程窗口,如下图。
传输:默认,限定符:默认是本机的机器名称,远程调试时设置为远程计算机IP;再选择要调试的程序,点击附加按钮,就可以设置断点调试了。
【注】在windows 7中,按住SHIFT键,然后在visual studio 的图标上点击右键,然后选择“以其它用户身份运行”,然后输入远程调试用的账号和密码可以使用当前登录Window的账户远程调试 。
远程调试时DebugView的使用:
首先,将DebugView.exe复制到远程机,创建快捷方式,右键点击远程机DebugView的快捷方式,将”快捷方式“选项卡中的目标后加上” /c",点击“确定”保存。此后,点击该快捷方式可以启用DebugView可以打开DebugView远程客户端。在本地机器上打开DebugView,在计算机选项中“断开”本地连接,在“连接”中输入远程计算机IP即可。此时,本地计算机就能打印代码中System.Diagnostics.Debug.WriteLine("Show something!");输出的内容了。
远程机和主机都需要注意的地方
本地安全策略:
控制面板、本地安全策略中:本地策略、安全选项、网络访问:本地帐户的共享和安全模型,确认是否已经设置为经典
用户:
两个机器上有相同的帐号和密码以进行用户验证模式下的连接,一般用管理员用户可以避免很多的安全问题
调试的过程中,需要注意
代码文件路径和内容不要任意修改,否则调试时无法定位到具体的错误
符号文件(*.pdb)和代码一定要一样,符号文件要拷贝到远程机上
在远程机上启动“Visual Studio远程调试器”服务程序(根据软件的x86和x64模式启动对应的版本),设置正确的验证方式,具体参考下表
调试方式 | 设置 |
开发环境直接启动远程进程形式 | 非托管程序: Remote with Windows authentication 、Remote with no authentication (Native only)两种形式可选 托管程序:只能使用Remote with Windows authentication的连接,此时主机和远程机必须使用相同的帐号 具体步骤: 1、 将软件拷贝到远程机的约定目录(如c:\temp) 2、 在项目属性的Debug选项中设置远程目录为上面的约定目录(如c:\temp)、执行文件名和远程主机名 (如Windows验证的地址: KK\Administrator@192.1.68.1.1(这个名字在“远程调试监视器”界面上可以看到) 无需验证的地址:192.1.68.1.1) 3、 开发工具启动Debug即可远程启动调试软件,设置断点等 |
进程附加形式 | Remote with Windows authentication 、Remote with no authentication (Native only)两种形式可选 具体步骤: 1、 远程机上启动要调试的进程,如果是web站点,启动web页面就激活了w3wp.exe进程 2、 在主机上选择要调试的进程附加上 3、 设置断点即可调试 |
相关文章推荐
- redis命令之zadd
- orcle定时备份
- DB2 创建EXPLAIN表
- Exchange 2010 备份还原邮件
- 在IOS输入框中 键盘上显示“搜索”
- android mvvm初探
- db2的定时备份
- 15个必知的Android开发者选项
- Tomcat服务器层次结构研究
- 高效遍历Map
- JAVA输入流的复用
- HDOJ 2025 查找最大元素
- 多线程的创建
- nodejs模块——fs模块
- NSDictionary、NSMutableDictionary及其枚举器的用法
- C#堆栈和堆的讲解
- 在springmvc中非controller类中调用service接口,以获取springmvc容器方法实现
- java 多线程
- 大数据测试之Hadoop的基本概念
- 0C-029.ARC中的@property