`

Visual Studio 远程调试的步骤

 
阅读更多

使用场景

常用的主要是在部署的机器上程序出现问题, 而一般的部署机器上没有开发环境,此时需要准确的定位出错的原因时使用。

进行远程调试时,主机可以是任何支持 Visual Studio 的平台。远程计算机可以是 32 位或 64 位平台。

安装

远程计算机安装

Visual Studio的安装光盘上的/Remote Debugger目录下有x86和x64的版本

X86(rdbgsetup_x86.exe)用于调试 32位的程序

X64(rdbgsetup_x64.exe)用于调试64位的程序

默认安装在C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE下

 

rdbgwiz.exe是配置向导,主要是端口开放和服务配置

\Remote Debugger\x86\msvsmon.exe是x86版本的调试器

\Remote Debugger\x64\msvsmon.exe是x86- 64版本的调试器

这些程序可以直接双击启动,或从程序组启动

 

一般都是临时使用调试,因此不要作为服务运行,为了减少安全的配置,最好把防火墙临时关闭,调试结束后再开启

主机安装

安装有开发环境的机器(32位/64位操作系统均可)

 

远程机和主机都需要注意的地方

  • 本地安全策略:

控制面板、本地安全策略中:本地策略、安全选项、网络访问:本地帐户的共享和安全模型,确认是否已经设置为经典

  • 用户:

两个机器上有相同的帐号和密码以进行用户验证模式下的连接,一般用管理员用户可以避免很多的安全问题

使用

首先在远程机上启动“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、  设置断点即可调试

 

注意:

调试的过程中,需要注意

  • 代码文件路径和内容不要任意修改,否则调试时无法定位到具体的错误
  • 符号文件(*.pdb)和代码一定要一样,符号文件要拷贝到远程机上
分享到:
评论

相关推荐

    将VisualStudio.NET调试器用于ASP.NET应用程序

    常规调试因果性调试:Web服务客户端和Web服务之间的步骤远程调试简介在过去的几个月中,我曾与许多存在调试问题的用户一起工作,他们之中有一部分来自Microsoft内部。我发现,如果用户能得到正确的诊断,则很多常见...

    vs2012 x64远程调试工具

    3> 首先将VS2012安装目录C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\Remote Debugge下的x86或x64目录拷贝到远程计算机任意位置,此例为C:\x86。启动并配置msvsmon.exe为无身份验证,允许任何...

    VSCode 搭建 Arm 远程调试环境的步骤详解

    确保本机已安装 SSH client, 并且确保远程主机已安装 SSH server。 VSCode 已经安装了插件 C/C++。 本次搭建的环境: 主机:windows 10 服务器:ubuntu 16.04 VSCode 版本:February 2020 (version 1.43) Arm...

    vscode C++远程调试运行(学习C++用)

    https://code.visualstudio.com/docs/remote/ssh 图标 2. 配置C++编译运行环境 主要参考下面两篇文档 https://code.visualstudio.com/docs/cpp/config-wsl https://code.visualstudio.com/docs/editor/tasks 2.1 ...

    使用vs2019进行Linux远程开发的方法步骤

    因此今天我们就来看下如何在Windows上使用Visual Studio 2019进行Linux远程开发以及如何避免常见的陷阱。 Visual Studio的跨平台开发功能简介 从visual studio 2017开始微软推出了vs的跨平台开发功能,你可以在vs中...

    visual C++_Turbo C串口通信编程实践

    3.2.6在没有安装Visual Studio的计算机上如何使用MSComm控件 3.2.7 在MSComm控件串口编程时遇到的其它问题说明 3.3在基于单文档(SDI)程序中应用MSComm控件 3.4应用MSComm控件控制多个串口实例 第4章 Windows ...

    Ranorex用户指南

    用Ranorex打开已经存在的Visual Studio TFS解决方案 [Ranorex Studio IDE] 创建 构建 运行 增加新的项目 解决方案浏览器 调试 代码补全 代码转换 代码导航 代码生成 重构 [Visual Studio 集成] [系统需求...

    CIMplant:WMImplant的C#端口,它使用CIM或WMI查询远程系统

    CIMplant WMImplant的C#端口,它使用CIM或WMI查询远程系统。 它可以使用提供的凭据或当前用户的会话。 注意:某些命令将结合使用PowerShell和... 将CIMplant.sln加载到Visual Studio中 如果不需要修改,请转到顶部

    asp.net知识库

    用于 Visual Studio .Net 的 IBM DB2 开发外接程序 第2章 并发操作的一致性问题 (2) Using sqlite with .NET Visual Studio 2005 中的新 DataSet 特性 MySQL 和 .Net2.0配合使用 与DotNet数据对象结合的自定义数据...

    c#学习笔记.txt

    Sun就从来没有将它的Java交给过ECMA,以至于正当Microsoft尽力在Visual J++基础上拓展Java功能,并使之与Windows操作系统紧密结合在一起的时候,Sun公司对Microsoft提出了法律诉讼,控告Microsoft违反了许可证协议中...

    C#微软培训资料

    <<page 1>> page begin==================== 目 目目 目 录 录录 录 第一部分 C#语言概述.4 第一章 第一章第一章 第一章 .NET 编 编 ... 比尔....这一天 微软公司正式推出了其下一代...

    IIS6.0 IIS,互联网信息服务

    四、在Vista系统中安装IIS7.0相对于早先的版本,IIS 7.0 带来了许多引人注目的新特色新功能,比如基于 Microsoft .NET Framework 的全局配置文件,可简单地通过文本编辑器或 Microsoft Visual Studio 编辑;...

Global site tag (gtag.js) - Google Analytics