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. 【转】Leader-Follower线程模型

    上图就是L/F多线程模型的状态变迁图,共6个关键点: (1)线程有3种状态:领导leading,处理processing,追随following (2)假设共N个线程,其中只有1个leading线程( ...

  2. django drf django-filter的method过滤

    1.View Demo from django.shortcuts import render from rest_framework.views import APIView from rest_f ...

  3. AJAX get/post;

    $.ajax({ dataType: "json", type: "POST", url: "地址(/api/products)", dat ...

  4. C博客第01次作业---顺序,分支结构

    1.本章学习总结 1.1 思维导图 1.2本章学习体会及代码量学习体会 1.2.1学习体会 经过了这一周的学习,从一开始对C语言一无所知,到现在能够写出基本的代码,感到非常开心. 学习C语言也并非想象 ...

  5. CentOS运行C++语言的Hello World

    1,编写代码,hello.cpp #include <iostream> using namespace std; int main(){ cout<<"hello ...

  6. Python 魔法方法查询表 -- 总结篇

    据说,Python 的对象天生拥有一些神奇的方法,它们总被双下划线所包围,他们是面向对象的 Python 的一切. 他们是可以给你的类增加魔力的特殊方法,如果你的对象实现(重载)了这些方法中的某一个, ...

  7. mongodb锁

    锁住写操作 > db.fsyncLock(); { "info" : "now locked against writes, use db.fsyncUnlock( ...

  8. 关于nginx的一个错误操作记录

    今天在弄前后端同步的测试的时候,前端用Nginx代理访问后端接口,由于启动了多次nginx软件,没有将前几次启动的nginx进程关闭,导致在访问后端接口的request被挂起,过了半天也没有结果返回, ...

  9. 实验一 c++简单程序设计

    一.实验内容 1.ex 2_28 (1) 用if...else判断 #include<iostream> using namespace std; int main() { char i; ...

  10. js中的promise详解

    一 概述   Promise是异步编程的一种解决方案,可以替代传统的解决方案--回调函数和事件.ES6统一了用法,并原生提供了Promise对象.作为对象,Promise有一下两个特点: (1)对象的 ...