Visual Studio 2017 远程调试(Remote Debugger)应用
I.远程调试情景
项目部署在远程服务器或非本地环境中,需要 处理应用中遇到的一些错误时 (不能直接附加进程或F5调试应用)。
II. 远程调试准备
1.远程服务器--操作系统和硬件要求 MSDN
操作系统
Windows 10 (而不是 phone)
Windows 8 或 8.1 (而不是 phone)
Windows 7 Service Pack 1
Windows Server 2012 或 Windows Server 2012 R2
Windows Server 2008 Service Pack 2、Windows Server 2008 R2 Service Pack 1
支持的硬件配置
1.6 GHz 或更快的处理器
1 GB 的 RAM(如果在虚拟机上运行则需 1.5 GB)
1 GB 的可用硬盘空间
5400 RPM 硬盘驱动器
DirectX 9 支持的视频卡,可在 1024 x 768 或更高版本的显示分辨率下运行
2.远程服务器--下载并安装上的远程工具
方法1:
直接拷贝 Visual Studio对应安装目录下:{drive}\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Remote Debugger下的文件至远程服务器
方法2:
- 在设备或服务器您想要调试的计算机 (而不运行 Visual Studio 的计算机),获取远程工具的正确版本。
| 版本 | 链接 | 说明 |
|---|---|---|
| Visual Studio 2017 (最新版本) | 远程工具 |
远程工具的最新版本是与所有 Visual Studio 2017 版本兼容。 始终下载匹配您设备的操作系统(x86、 x64、 或 ARM64) 的版本。 在Windows 服务器上,请参阅取消阻止文件下载有关帮助下载的远程工具。 |
| Visual Studio 2015 | 远程工具 |
Visual Studio 2015 远程工具可从 My.VisualStudio.com。 如果系统提示,请加入免费 Visual Studio Dev Essentials 程序或使用 Visual Studio 订阅 id。 登录 在Windows 服务器上,请参阅 取消阻止文件下载 有关帮助下载的远程工具。 |
| Visual Studio 2013 | 下载 Visual Studio 2013 文档中的页 | |
| Visual Studio 2012 | 下载 Visual Studio 2012 文档中的页 |
在下载页上,选择与你的操作系统 (x86、 x64、 ARM、 或 ARM64) 匹配的工具版本和下载并安装远程工具。

3.远程服务器--设置远程服务器上的远程调试器
您必须在远程计算机上具有管理权限。
定位远程调试器应用程序。 (它已经安装,在位置中找到 msvsmon.exe 或打开开始菜单并搜索远程调试器。)
如果远程服务器上运行远程调试器,可以右键单击远程调试器应用并选择以管理员身份运行。 如果你不远程服务器上运行它,只是它正常启动。当启动远程工具,在第一次 (或之前对其进行配置),则远程调试配置对话框随即出现。

如果 Windows 服务 API 未安装 (这仅在 Windows Server 2008 R2 时发生),选择安装按钮。
选择你想要在上面使用远程工具的网络类型。 必须至少选择一种网络类型。 如果这些计算机通过域连接,则必须选择第一项。 如果这些计算机通过工作组或家庭组连接,你需要视情况选择第二或第三项。
选择配置远程调试配置防火墙并启动该工具。
配置完成后,将显示远程调试器窗口。

远程调试器现在正在等待连接。 请记下的服务器名称和端口号显示,因为它必须匹配更高版本使用 Visual Studio 中的配置。
完成调试,需要停止远程调试器后,,单击文件 > 退出窗口上。 您可以重新启动它从启动菜单或从命令行:
<远程调试器安装目录 >< x86、 x64、 ARM、 ARM64 或 Appx > \msvsmon.exe。
eg:
D:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\Remote Debugger\x64> .\msvsmon.exe
III. 远程调试应用程序(从 Visual Studio 计算机附加对应进程调试)
Visual Studio 计算机上,打开要调试的解决方案 xxxx。
在 Visual Studio 中,单击调试 > 附加到进程(Ctrl + Alt + P),或者重新附加进程。
将链接目标设置为 <远程计算机名称>: 4022。
单击刷新。 “可用进程” 窗口中将显示某些进程。
如果看不到任何进程,请尝试使用的 IP 地址而不远程计算机名称 (端口是必需的)。 可以使用ipconfig获取 IPv4 地址的命令行中。
勾选“显示所有用户的进程” 。
键入进程名称,eg:w3wp.exe。

单击附加
访问部署在远程计算机上需要调试的服务即可。
eg: 我们需要调试的web应用程序。
Tips:
更多远程调试信息参见 MSDN:Visual Studio 2017 Remote Debugging
参考资料
MSDN:Visual Studio 2017 Remote Debugging
远程调试 Visual Studio 中的 C# 或 Visual Basic 项目
远程调试 Visual Studio 中的 Visual c + + 项目

Visual Studio 2017 远程调试(Remote Debugger)应用的更多相关文章
- Visual Studio 2017 远程调试
当你将.NET程序发布到不同机子时候,想要进行调试,但机子不足以安装VS或安装VS麻烦,可以考虑使用远程调试,这里以C#项目为例,asp.net方法略有不同 原理: 首先安装VS远程调试工具,有俩种安 ...
- 如何用Visual Studio Code远程调试运行在服务器上的nodejs应用
假设我有一个nodejs应用,运行在AWS - 亚马逊云平台上(Amazone Web Service).我想用本地的Visual Studio Code来远程调试服务器端的nodejs应用. Vis ...
- visual studio远程调试 remote debugger
下载远程debug工具: https://docs.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging?view=vs-2015 或者 ...
- Visual Studio2017 远程调试 Remote Debugger
前言 大家在使用vs打包后的文件部署到服务器后,有时候我们需要对线网的后台进行调试.但是它不像在VS中.这个时候我们该怎么调试呢? 微软想到了这一点,他们在 VS 中给我们提供了一个功能: Remot ...
- 使用Visual Studio 2012远程调试Windows Azure网站
登录Windows Azure门户,点击"所有项目"中的网站名称. 点击"配置". 在"远程调试"选项中选择"打开",在 ...
- Visual Studio 2012远程调试中遇到的问题
有的时候开发环境没问题的代码在生产环境中会某些开发环境无法重现的问题,或者需要对生产环境代码进行远程调试该怎么办? Vs已经提供给开发者远程调试的工具 下面简单讲讲该怎么用,前期准备:1.本地登录账户 ...
- Visual Studio 2017 Android 调试无法连接到虚拟机
输出窗口输出如下: 1>Starting deploy 4.5" KitKat (4.4) HDPI Phone ... 1>Starting emulator 4.5" ...
- Visual Studio 2017 本地调试 Chrome浏览器自动退出
在使用VS 2017(15..6 .15.7)对.NET Core MVC应用程序进行本地调试的时候,选择使用Chrome浏览器.但输入中文 就自动关闭Chrome浏览器,随后结束调试.但复制.粘贴中 ...
- 用visual studio 2017来调试python
https://www.visualstudio.com/zh-hans/thank-you-downloading-visual-studio/?sku=Professional&rel=1 ...
随机推荐
- C++ windows进程间通信
最近一直在找共享内存同步的操作,恰好这篇文章有讲解.本文转载:https://blog.csdn.net/bing_bing_bing_/article/details/82875302 方便记录,c ...
- LightOJ 1213 Fantasy of a Summation(规律 + 快数幂)
http://lightoj.com/volume_showproblem.php?problem=1213 Fantasy of a Summation Time Limit:2000MS ...
- PHP header函数设置http报文头示例详解以及解决http返回头中content-length与Transfer-Encoding: chunked的问题
最近在服务器上,多媒体与设备(摄像头)对接的时候,总是发生错误导致设备崩溃,抓包发现响应头不对,没有返回length,使得摄像头立即崩溃.找了一下资料,改了一下响应头就好了. //定义编码 heade ...
- day05.2-一个文件的增删改查实例
一. 测试程序 #INFO.txt源文件内容 global log 127.0.1 local2 daemon maxconn 256 log 127.0.0.1 local2 info defa ...
- js滚动距离
滚动距离 onclick="$('html,body').animate({scrollTop:$('.J_user_evaluate').offset().top-110},500)&qu ...
- java中数组的插入
package com.hxzy.demo; import java.util.Arrays;import java.util.Scanner; public class Demo1 { public ...
- Java几个基本概念
To xj 编译:test.java->test.class反编译:test.class->test.java打jar包:test.class->test.jar打war包:test ...
- django rest framework 向数据库中插入数据时处理外键的方法
一.models.py中 from django.db import models class UserModel(models.Model) user_name = models.CharField ...
- MongoDB 数据自动同步到 ElasticSearch
我们产品中需要全文检索的功能,后端数据存储主要使用了 MySQL + MongoDB,而其中需要检索的内容是在 MongoDB 中的. MongoDB 本身是自带文本索引功能的,但是,不支持中文.术业 ...
- oracle常用cmd命令
登陆 sqlplus username/password; 切换: conn username/password; 显示当前登陆用户: show user; 查看用户列表 select usernam ...