VS2010远程调试C#程序
场景:
客户的计算机运行程序出现异常,由于办公场所不在一起,无法直接在客户的机器上调试。此时希望可以直接在开发人员的计算机(本地机器)上远程调试客户机上的软件。
假设:
本地机器的系统账户为 GIS,密码为 111
客户机器的计算机名为 Client
要调试的程序名称为 test.exe
解决方法:
1、客户机器配置
新建与本地机器一致的系统账户
要保证账户和密码一致
在控制面板 -> 用户账户 -> 添加GIS账户,并设置密码为111
切换到GIS账户中
开启远程服务
控制面板 -> 管理工具 -> 服务 -> 开启Remote Desktop Service服务
设置本地安全策略
控制面板 -> 管理工具 -> 本地安全策略 -> 本地策略 -> 安全选项 -> 网络访问:本地账户的共享和安全模型 -> 设置为“经典 - 对本地用户进行身份验证,不改变其本来身份”
关闭防火墙
控制面板 -> Windows防火墙 -> 打开或关闭Windows防火墙 -> 关闭防火墙
本地新建文件夹bin,共享文件夹
控制面板 -> 用户账户 -> 启动Guest账户
控制面板 -> 家庭组 -> 更改高级共享设置 -> 家庭或工作 -> 密码保护的共享 -> 关闭密码保护共享
右键点击bin文件夹 -> 特定用户 -> 添加Guest用户 -> 修改“权限级别为读/写” -> 共享
打开本地机器共享的Remote Debugger文件夹,启动适当平台下的msvsmon.exe
若出现提示“此计算机上的Windows防火墙当前阻止了远程调试。远程调试要求允许调试器从网络接收信息。。。”,请勾选“取消禁止从任何计算机进行远程调试的限制”。
2、本地机器配置
开启远程服务
控制面板 -> 管理工具 -> 服务 -> 开启Remote Desktop Service服务
设置本地安全策略
控制面板 -> 管理工具 -> 本地安全策略 -> 本地策略 -> 安全选项 -> 网络访问:本地账户的共享和安全模型 -> 设置为“经典 - 对本地用户进行身份验证,不改变其本来身份”
共享Remote Debugger文件夹
文件夹在VS安装目录下的“Common7\IDE”中
控制面板 -> 用户账户 -> 启动Guest账户
控制面板 -> 家庭组 -> 更改高级共享设置 -> 家庭或工作 -> 密码保护的共享 -> 关闭密码保护共享
右键点击bin文件夹 -> 特定用户 -> 添加Guest用户 -> 修改“权限级别为读/写” -> 共享
VS中设置待调试项目的属性为远程调试
项目属性 -> 生成 -> 输出 -> 输出路径 -> 设置为客户机器的共享文件夹名称
\\Client\bin\
项目属性 -> 调试 -> 启动 -> 启动外部程序 -> 设置为
\\Client\bin\test.exe
项目属性 -> 调试 -> 启动选项 -> 工作目录 -> 设置为
\\Client\bin\
项目属性 -> 调试 -> 启动选项 -> 使用远程计算机 -> 设置为
Client
启动调试,就可以开始调试了
客户机器上自动启动test.exe
客户机器上的远程调试监视器显示“已连接”
说明:
该解决方法的客户机器及本地机器都是Win7 64位操作系统,其他系统可参考处理。
该解决方法只在VS2010中测试,其他版本可参考处理。
当然,这个方法的根本前提是两台机器可以互相ping通。
调试连接错误总结:
错误:“Microsoft Visual Studio 远程调试监视器”(MSVSMON.EXE) 似乎没有在远程计算机上运行。
解决方案:
拷贝:本机vs2010安装目录下(D:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger)
的Remote Debugger 目录全部拷贝到远程机器上面,
然后运行远程机器Remote Debugger目录下的MSVSMON.EXE程序到远程机器上面;
注意:如果本机程序是X86的,则运行X86目录下面的MSVSMON.EXE程序即可
参考文档:http://my.oschina.net/u/2279991/blog/383694
VS2010远程调试C#程序的更多相关文章
- VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0 ...
- java远程调试(断点)程序/tomcat( eclipse远程调试Tomcat方法)
tomcat远程调试: 1.Linux中配置tomcat在catalina.sh中添加如下CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_soc ...
- 亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0- ...
- MAC使用IDA PRO远程调试LINUX程序
1 背景 在学习Linux系统上的一些漏洞知识的时候,往往需要进行“实地测试”,但是在Linux系统上进行调试并不太方便,因为LINUX自带的GDB调试工具真的不太人性化,即使有GDBTUI之类的“伪 ...
- 远程调试Java程序
java 可以以调试模式启动,启动后可以使用 jdb 对程序进行调试.以调试模式启动,需要加入以下参数: java -Xdebug -Xrunjdwp:transport=dt_socket,addr ...
- Eclipse远程调试应用程序
第一步,在应用程序的配置文件run.xml中加入下面的配置项,启动应用程序: <target name="run" depends="checkBuilderFai ...
- vs2010远程调试断点无效问题
ps:本人按照下面的方式设置成功,个人感觉写的也比较清楚 来源:http://www.cnblogs.com/OpenCoder/archive/2010/02/17/1668983.html v ...
- 使用IDEA远程调试SpringBoot程序
远程调试就是服务端程序运行在一台远程服务器上,我们在本地服务端的代码中设置断点(本地的代码必须与远端一致),进行调试.每当有请求到达远程服务器时能够在本地知道远端程序的运行情况. 1.点击Run 选择 ...
- VS2010 远程调试
1.在客户端电脑建一个账户,账户名和密码和调试端的账户密码一样 2.在客户端电脑进入 管理工具-本地安全策略-本地策略-安全选项 网络访问:本地账户的共享和安全模式”,改为“经典-本地用户以自己的身份 ...
随机推荐
- js的小练习
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- N3_容易混淆的语法
第一期 范围 -から-まで から-にかけて から-にわたって 词例 区别 -から-まで から-にかけて から-にわたって 时间范围 时间界限比较明确.不间断 不那么明确,大致的在这段时间,断断续续 ...
- 四、Ubuntu16.04下TestLink的部署【测试管理必备工具】
TestLink部署和使用方法 TestLink是一个基于Web的开源测试和需求管理工具.该应用程序提供测试规范.测试计划和执行,报告,需求规范以及与知名的bug跟踪器协作. 特征 l 需求管理 - ...
- IOS上编译boost库
环境:xcode9mac os 10.13 1.下载boost库并解压2.cd到解压后的文件包内,执行 sh bootstrap.sh(解压后会得到这个脚本文件).3.执行./b2 编译整个库.4.经 ...
- 如何导出不带.svn的文件夹
在工作环境中,有的时候需要将本地SVN服务器中的文件导出来,提交到另一个SVN服务器中去(比如做现场开发时,由于外网速度慢,项目组内部往往使用一个SVN服务器,但又同时又需要公司统一管理,定期提交到公 ...
- mysql分组排序加序号
参照https://www.cnblogs.com/CharlieLau/p/6737243.html 一.需求 新加一个Sort 字段,初始值为1,按照parentID分组添加sort值. 根据原数 ...
- 6407. 【NOIP2019模拟11.05】小 D 与随机
题目描述 Description Input 第一行两个个整数 n,k. 之后 n -1 行,第 i 行两个整数 ui, vi, 表示一条树边. 保证输入的数据构成一棵树. Output 一行一个数表 ...
- 最全的WEB前端开发程序员学习清单
史上最全的WEB前端开发程序员学习清单! 今天为什么要给大家分享这篇文章呢,我发现最近来学前端的特别多,群里面整天都有人问:前端好找工作吗?前端要怎么学啊?前端工资怎么样?前端XX,前端XXX,虽然我 ...
- vue-router中$route 和 $router
1.1 $route 表示(当前路由信息对象) 表示当前激活的路由的状态信息,包含了当前 URL 解析得到的信息,还有 URL 匹配到的 route records(路由记录).路由信息对象:即$ro ...
- 11. ClustrixDB 管理文件空间和数据库容量
ClustrixDB监视集群中可用的空间量,并主动警告潜在的容量问题.确定集群容量的阈值是可配置的,如下所述. 存储类型 要了解如何管理设备和数据库的利用率,必须首先了解ClustrixDB如何分配磁 ...