博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2010远程调试C#程序
阅读量:6255 次
发布时间:2019-06-22

本文共 1806 字,大约阅读时间需要 6 分钟。

场景:

客户的计算机运行程序出现异常,由于办公场所不在一起,无法直接在客户的机器上调试。此时希望可以直接在开发人员的计算机(本地机器)上远程调试客户机上的软件。


假设:

  • 本地机器的系统账户为 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

 

转载地址:http://zmtsa.baihongyu.com/

你可能感兴趣的文章
objective-c 枚举王国遍历数组
查看>>
C# WinForm开发系列 - OWC
查看>>
关于利用VS2008创建项目遇到的小困惑备忘
查看>>
发布一款域名监控小工具——Domain(IP)Watcher
查看>>
VBS中数组的各种处理方式
查看>>
通用数据权限管理系统设计
查看>>
High Resolution Timer in Java 5
查看>>
Visio2010绘制上下文数据流图
查看>>
SQL高级---SQL TOP 子句
查看>>
EhCache 分布式缓存/缓存集群
查看>>
[读书笔记]黑客与画家-思维、财富、创业、产品、设计、编程
查看>>
ecshop index.php源代码分析
查看>>
POJ 2057 The Lost House (经典树形dp)
查看>>
C#与Java的比较(转)
查看>>
jquery checkbox
查看>>
GNU make manual 翻译(三十二)
查看>>
内存泄漏简介
查看>>
管理内核模块
查看>>
SQL NOTE--CURSOR
查看>>
cvMatND 多维数组 设置和读取像素值
查看>>