Visual Studio2017 远程调试 Remote Debugger
前言
大家在使用vs打包后的文件部署到服务器后,有时候我们需要对线网的后台进行调试。但是它不像在VS中。这个时候我们该怎么调试呢?
微软想到了这一点,他们在 VS 中给我们提供了一个功能: Remote Debugger,要远程调试我们就需要用到它。
关于 Remote Debugger
使用VS远程调试器Remote Debugger,你可以调试部署在不同的计算机上的VS应用程序。它适用于Windows桌面应用程序和ASP.NET的应用程序。
获取远程工具
获取远程工具的方式有两种。一种是从MSDN的文档中选择下载自己要下载的远程工具,还有一种是从你主机安装Visual Studio的目录中获取。
下载并安装远程工具
在要调试的设备或服务器(而不是机器运行Visual Studio),下载与你的操作系统的版本(X86,X64,或ARM版)相匹配的远程工具。
从主机拷贝
从主机VS的安装目录中拷贝Remote Debugger文件夹至你要远程的服务器。可以放到任意位置,不影响程序运行。
Program Files\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger
启动远程调试器
Remote Debugger文件夹里面会有x86、x64两个文件夹对应相应版本的工具,根据服务器的系统环境进入相应的文件夹并以管理员身份运行里面的远程调试器msvsmon.exe。
上面就是我们运行的远程调试器,它默认是Windows身份验证的。打开工具>选项 配置如下:
远程调试的ASP.NET应用
在服务端配置的调试器有两种验证模式,Windows身份验证和无身份验证。下面演示Windows身份验证的示例。
首先运行本地项目,打开 调试>附加到进行 界面如下,我们只需要在连接和目标填上服务器IP和远程调试器选项中的端口号,然后点击查找。
这个时候服务器的远程调试器会显示你的已连接信息
选择Windows身份验证和无身份验证的区别就多了一个身份验证,验证通过后我们会看到服务器的全部进程,选择显示所有用户的进程找到w3wp.exe,然后附加到进程。
这个时候我们就可以链接在本地VS对服务器的程序进行调试了。
常见的问题
1.ASP.NET程序所有步骤都完成了,但还是无法调试。
答:要保证服务器代码和本地代码一致,也就是bin文件一致。实在不行就把本地bin文件替换服务器程序的bin文件。
2.其他语言的项目怎么调试?像C、VB等。
答:这些在MSDN上面都有,直达链接
3.我如果要下载远程调试工具该怎么选择
答:根据表选择对应版本
版本 | 链接 | 说明 |
---|---|---|
Visual Studio 2015更新3 | 远程工具 | 如果出现提示,参加免费的Visual Studio开发要领组或者你可以注册一个有效的Visual Studio订阅。然后重新打开链接,如果有必要。总是下载版本匹配您的设备的操作系统(x86,x64或ARM版) |
Visual Studio 2015(旧) | 远程工具 | 如果出现提示,参加免费的Visual Studio开发要领组或者你可以注册一个有效的Visual Studio订阅。然后重新打开链接,如果有必要。 |
VisualStudio 2013年 | 远程工具 | 在Visual Studio 2013文档下载 |
VisualStudio 2012 | 远程工具 | 在Visual Studio 2012文档下载 |
搜索
复制
Visual Studio2017 远程调试 Remote Debugger的更多相关文章
- visual studio远程调试 remote debugger
下载远程debug工具: https://docs.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging?view=vs-2015 或者 ...
- Visual Studio 2017 远程调试(Remote Debugger)应用
I.远程调试情景 项目部署在远程服务器或非本地环境中,需要 处理应用中遇到的一些错误时 (不能直接附加进程或F5调试应用). II. 远程调试准备 1.远程服务器--操作系统和硬件要求 MSDN 操作 ...
- Visual Studio远程调试
Visual Studio支持调试远程机器上的程序,经过简单设置后,就像调试本地代码一样方便. 第一步:将vs工具里的Remote Debugger文件夹拷贝到目标机器.大致的目录应该是:D:\Pro ...
- CLR调试报错“Visual Studio远程调试监视器 (MSVSMON.EXE) 的 64 位版本无法调试 32 位进程或 32 位转储。请改用 32 位版本”的解决
Win7 64位电脑上进行visual studio的数据库项目的CLR存储过程进行调试时,报错: ---------------------------Microsoft Visual Studio ...
- Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储
在VS2013中调试Silverlight项目时,提示:无法附加.Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储.请改用64位版本. ...
- 安卓手机移动端Web开发调试之Chrome远程调试(Remote Debugging)
一.让安卓打debug模式的apk包 二.将电脑中的chrome升级到最新版本,在chrome浏览器地址栏中输入chrome://inspect/#devices: 在智能手机还未普及时,移动设备的调 ...
- C#客户端程序Visual Stadio远程调试
一,需求来源 在开发过程中,可能会要使用Win7 ,Win8 ,Win10等不同版本的系统去做兼容性调试,也有时候会去针对特别的显卡,无线网卡等等硬件设备的机器做优化,有一种较优的方案,那就是使用Vi ...
- Idea进行java应用的远程调试Remote debugging
本文可以解决如下两个问题: 1.如何处理和调试那些只发生在生产环境(或其他远程环境)而本地开发环境可能没办法重现的"问题". 2.只有一个可以部署的war/jar包,只有class ...
- 在windows通过visual studio远程调试linux mono程序
本文参考文章 https://github.com/techl/MonoRemoteDebugger 1.通过连接https://github.com/techl/MonoRemoteDebugger ...
随机推荐
- MySQL学习笔记(五):MySQL表级锁和行级锁
一:概述 相对其他数据库而言,MySQL的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking ...
- echarts添加点击事件
由于工作需要,需要用echarts 进行展示图表,却又个新的需求,要点击展示的地方,同时下面出现table展示内容 如图所示: 一开始找了好多博客,发现都不好用,大部分都是用到了 var ecConf ...
- HA分布式集群二hive配置
一,概念 hive:是一种数据仓库,数据储存在:hdfs上,hsql是由替换简单的map-reduce,hive通过mysql来记录映射数据 二,安装 1,mysql安装: 1,检测是否有mariad ...
- year:2017 month:07 day:31
2017-07-31 JAVA se 1:基础 控制语句:continue语句:退出本次循环 break语句:退出当前循环 循环语句:for(初始化:条件表达式:循环体){循环语句} 先初始化,再执行 ...
- Openresty使用Thrift安装步骤
最新想用Golang与Openresty相互通讯调用,使用RPC协议来实现,后来研究最终选择了Thrift:主要还是FB实现了支持Lua和Go模块,直接编译就可以成功嵌套使用,非常方便:研究了两天最后 ...
- spring集成mybatis实现mysql读写分离
前言 在网站的用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈.幸运的是目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库的数据更新同步到另一台服务器上. ...
- Akka(16): 持久化模式:PersistentFSM-可以自动修复的状态机器
前面我们讨论过FSM,一种专门为维护内部状态而设计的Actor,它的特点是一套特殊的DSL能很方便地进行状态转换.FSM的状态转换模式特别适合对应现实中的业务流程,因为它那套DSL可以更形象的描述业务 ...
- 【思维】【水】 南阳oj 喷水装置(一)
描述 现有一块草坪,长为20米,宽为2米,要在横中心线上放置半径为Ri的喷水装置,每个喷水装置的效果都会让以它为中心的半径为实数Ri(0<Ri<15)的圆被湿润,这有充足的喷水装置i(1& ...
- Java入门——(8)网络编程
关键词:IP地址..端口.UDP.DatagramPacket类.DatagramSocket类.TCP.ServerSocket类.Socket类.文件上传 一.基本概念 ...
- Hadoop集群时间同步
0x01 ntp安装 检查时间服务器是否安装 # rpm -q ntp ntp-4.2.4p8-2.el6.x86_64 // 这表示已安装了,如果没有安装,这是空白. //如果没有安装,我们按照下 ...