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:

  1. 在设备或服务器您想要调试的计算机 (而不运行 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 文档中的页
  1. 在下载页上,选择与你的操作系统 (x86、 x64、 ARM、 或 ARM64) 匹配的工具版本和下载并安装远程工具。

3.远程服务器--设置远程服务器上的远程调试器

您必须在远程计算机上具有管理权限。

  1. 定位远程调试器应用程序。 (它已经安装,在位置中找到 msvsmon.exe 或打开开始菜单并搜索远程调试器。)

    如果远程服务器上运行远程调试器,可以右键单击远程调试器应用并选择以管理员身份运行。 如果你不远程服务器上运行它,只是它正常启动。

  2. 当启动远程工具,在第一次 (或之前对其进行配置),则远程调试配置对话框随即出现。

  3. 如果 Windows 服务 API 未安装 (这仅在 Windows Server 2008 R2 时发生),选择安装按钮。

  4. 选择你想要在上面使用远程工具的网络类型。 必须至少选择一种网络类型。 如果这些计算机通过域连接,则必须选择第一项。 如果这些计算机通过工作组或家庭组连接,你需要视情况选择第二或第三项。

  5. 选择配置远程调试配置防火墙并启动该工具。

  6. 配置完成后,将显示远程调试器窗口。

    远程调试器现在正在等待连接。 请记下的服务器名称和端口号显示,因为它必须匹配更高版本使用 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 计算机附加对应进程调试)

  1. Visual Studio 计算机上,打开要调试的解决方案 xxxx。

  2. 在 Visual Studio 中,单击调试 > 附加到进程(Ctrl + Alt + P),或者重新附加进程

  3. 将链接目标设置为 <远程计算机名称>: 4022

  4. 单击刷新。 “可用进程” 窗口中将显示某些进程。

    如果看不到任何进程,请尝试使用的 IP 地址而不远程计算机名称 (端口是必需的)。 可以使用ipconfig获取 IPv4 地址的命令行中。
  1. 勾选“显示所有用户的进程” 。

  2. 键入进程名称,eg:w3wp.exe。

  3. 单击附加

  4. 访问部署在远程计算机上需要调试的服务即可。

    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)应用的更多相关文章

  1. Visual Studio 2017 远程调试

    当你将.NET程序发布到不同机子时候,想要进行调试,但机子不足以安装VS或安装VS麻烦,可以考虑使用远程调试,这里以C#项目为例,asp.net方法略有不同 原理: 首先安装VS远程调试工具,有俩种安 ...

  2. 如何用Visual Studio Code远程调试运行在服务器上的nodejs应用

    假设我有一个nodejs应用,运行在AWS - 亚马逊云平台上(Amazone Web Service).我想用本地的Visual Studio Code来远程调试服务器端的nodejs应用. Vis ...

  3. visual studio远程调试 remote debugger

    下载远程debug工具: https://docs.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging?view=vs-2015 或者 ...

  4. Visual Studio2017 远程调试 Remote Debugger

    前言 大家在使用vs打包后的文件部署到服务器后,有时候我们需要对线网的后台进行调试.但是它不像在VS中.这个时候我们该怎么调试呢? 微软想到了这一点,他们在 VS 中给我们提供了一个功能: Remot ...

  5. 使用Visual Studio 2012远程调试Windows Azure网站

    登录Windows Azure门户,点击"所有项目"中的网站名称. 点击"配置". 在"远程调试"选项中选择"打开",在 ...

  6. Visual Studio 2012远程调试中遇到的问题

    有的时候开发环境没问题的代码在生产环境中会某些开发环境无法重现的问题,或者需要对生产环境代码进行远程调试该怎么办? Vs已经提供给开发者远程调试的工具 下面简单讲讲该怎么用,前期准备:1.本地登录账户 ...

  7. Visual Studio 2017 Android 调试无法连接到虚拟机

    输出窗口输出如下: 1>Starting deploy 4.5" KitKat (4.4) HDPI Phone ... 1>Starting emulator 4.5" ...

  8. Visual Studio 2017 本地调试 Chrome浏览器自动退出

    在使用VS 2017(15..6 .15.7)对.NET Core MVC应用程序进行本地调试的时候,选择使用Chrome浏览器.但输入中文 就自动关闭Chrome浏览器,随后结束调试.但复制.粘贴中 ...

  9. 用visual studio 2017来调试python

    https://www.visualstudio.com/zh-hans/thank-you-downloading-visual-studio/?sku=Professional&rel=1 ...

随机推荐

  1. Window 10 单机配置MYSQL主从同步

    Master数据库:127.0.0.1:3306 Slave数据库:127.0.0.1:3307 Master操作 修改ini信息 Master MYSQL安装目录下,找到my.ini,在[mysql ...

  2. C# BackgroundWorker 的使用、封装

    示例代码: PT_USER_INFO user = new PT_USER_INFO(); IList<TES_COMBAT_TASK> taskList = new List<TE ...

  3. C#基础笔记(第十六天)

    1.进程复习//通过进程去打开应用程序 Process.Start("calc"); Process.Start("mspaint"); Process.Sta ...

  4. C#上传文件处理

    public class FileHelp : System.Web.UI.Page { /// <summary> /// 保存文件 /// 返回:数组:status[0]:文件名称:s ...

  5. jquery屏蔽掉键盘enter提交 onkeydown

    屏蔽掉enter提交onkeydown onkeydown="if(event.keyCode==13){return false;}"

  6. 设置、读取、删除cookie

    刚才用虚拟机当服务器,开了两个服务(端口号不同),发现同样的cookie:在别的网站下面没有发现该cookie.说明cookie只是对应相应的网站的(自己得出的结论) ---------------- ...

  7. sql注入实例详解(二)

    前言 这篇文章就是一个最基本的SQl手工注入的过程了.基本上在sqlilabs上面的实验,如果知道了其中的全部知识点,都可以通过以下的步骤进行脱裤.下面的这个步骤也是其他的脱裤手段的基础.如果想要精通 ...

  8. Error:(1, 1) 错误: 需要class, interface或enum

    这个东西在Ideal里面报的错误,在控制台提示: Error:(1, 1) 错误: 需要class, interface或enum 网上搜到说是编码问题,我的解决方式: 把出错的文件选中复制一份,再随 ...

  9. 【性能测试】jmeter的坑(1)——如何在多网卡情况下正确连接

    问题现象: 性能测试时,使用的服务器配置了双网卡,windows客户机配置了四网卡,坑爹的配置,内外网的隔离,导致在使用jmeter进行分布式测试的时候总是连接失败. 原因分析: Jmeter采用了r ...

  10. 【JavaScript】__proto__和prototype的区别和联系【整理】

    var person={name:'ninja'}; person.prototype.sayName=function(){ return this.name; } Chrome运行结果: 提示找不 ...