Visual Studio远程调试

在工作中有时候需要在服务器的环境下远程调试,例如调试微信相关服务的时候。

1. 下载远程调试工具

网址:https://visualstudio.microsoft.com/zh-hans/downloads/

Visual Studio远程调试

下载后直接安装至完成。

Visual Studio远程调试

启动Remote Debugger:

Visual Studio远程调试

如果只是短时间测试,可以选择无身份验证,为了安全,工具自动设置了空闲时间,即多久没有操作会自动关闭此功能。

2.新建测试项目

建了一个简单的HelloWorld项目,简单几句代码,加上断点。

Visual Studio远程调试

发布debug到远程服务器。

双击HelloWorld.exe,运行程序

Visual Studio远程调试

3.开始调试

点击菜单【调试】->【附加到进程】,打开如下页面

Visual Studio远程调试

① 选择连接类型

如果开启了身份验证,则默认即可,否则选择【无身份验证】。

② 填写服务器的IP及调试服务的端口

填写完后直接回车,不要点击后面的【查找】按钮。在可用进程中会列出服务器端的进程列表。

③筛选进程

可选,如果服务器端进程较多,可以在此筛选,支持模糊查询。

找到HelloWorld.exe,双击改进程或点击附加按钮,和附加本地进程一致。

随便输入什么字符,回车,可以看到进入了断点

Visual Studio远程调试

可以正常进行调试了。

4. 调试IIS中的网站

如果是调试发布到IIS中的网站,则需要附加的进程为w3wp.exe。

可能会遇到如下情况:

如果看不到该进程,则需考虑如下操作,①访问该网站,休眠状态有时候找不到该进程。②勾选”显示所有用户的进程”,再刷新。

如果看到多个w3wp.exe,这是在IIS中部署了多个网站,不知道该附加到哪个上面,可以以管理员权限运行 cmd,执行如下命令:

cd %windir%\system32\inetsrv

appcmd list wp

在执行结果中可以看到网站的名称和对应的进程ID,在附加进程的时候根据进程ID区分。

Original: https://www.cnblogs.com/FlyLolo/p/remote-debugger.html
Author: FlyLolo
Title: Visual Studio远程调试

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/581840/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Spring事务(四)-事务隔离级别

    Spring @Transactional注解isolation属性 @Transactional注解通过isolation属性设置事务隔离级别。如下: @Transactiona…

    Linux 2023年6月6日
    075
  • 了解CFS完全公平调度器

    CFS模拟理想多任务调度 公平,即对于n个正在运行的任务,当这些任务同时不断地运行时,CPU会尽可能分配给他们1/n的处理时间。 CFS是一种基于加权公平排队思想的调度算法。 精确…

    Linux 2023年6月7日
    0112
  • Java50个关键字之abstract

    abstract abstract 可以出现的位置: 修饰方法 修饰类 修饰类 一个类被 abstract修饰,那么该类就叫做 抽象&a…

    Linux 2023年6月7日
    093
  • linux用户组管理

    一、简介 1、每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理,不同Linux系统对用户组的规定有所不同,如:Linux下在创建用户时,不指定用户组名,则会同时…

    Linux 2023年5月27日
    0126
  • 【微服务】Nacos初体验

    SpringCloud – Nacos初体验 😄生命不息,写作不止🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🏆 一个有梦有戏的人 @怒放吧德德🌝…

    Linux 2023年6月6日
    0121
  • 编写radware的负载配置

    radware如何添加负载服务? 笔者在新添加radware的新负载服务的时候,是习惯去看下上一个负载服务的ID 和 节点服务的ID 号 分别是多少,主要是避免ID冲突,把其他服务…

    Linux 2023年6月8日
    0105
  • 我为儿子开发的第一款Android App,用于九九乘法练习

    用一天时间在macbook上安装好了Android Studio For Mac,注意dl.google.com只支持电信网络下载,家里宽带如果是移动或者联通的,使用AS下载And…

    Linux 2023年6月14日
    0101
  • 你真的了解JAVA中对象和类、this、super和static关键字吗

    作者:小牛呼噜噜 | https://xiaoniuhululu.com计算机内功、JAVA底层、面试相关资料等更多精彩文章在公众号「小牛呼噜噜 」 Java对象究竟是什么? 创建…

    Linux 2023年6月6日
    0120
  • Ubuntu18.04 + Windows10 双系统安装

    此处忽略Windows10安装!!! 准备 安装环境 OS:Windows10 CPU:Intel(R) Core(TM) i5-10600KF CPU @ 4.10GHz 4.1…

    Linux 2023年5月27日
    0108
  • Supervisor进程管理

    Supervisor 介绍 Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它…

    Linux 2023年6月8日
    0119
  • Linux 下 SVN 的安装和配置

    SVN 是一个自由开源的版本管理系统,它可以按照时间的顺序去管理文件、目录以及对其进行的修改。于今,它被广泛的用于互联网公司的项目版本管理中 工作原理 它的工作原理如下图所示 它是…

    Linux 2023年6月13日
    0104
  • linux中实时监控目录中生成的文件,并钉钉告警

    inotify是一个API 需要通过开发应用程序进行调用,对于大多数用户来讲这有着许多不便,inotify-tools的出现弥补了这一不足。 inotify-tools是一套组件,…

    Linux 2023年6月6日
    0121
  • Linux系统Yum中的$releasever和$basearch变量

    Yum的配置文件中包含大量的$releasever和$basearch变量,那么他们的取值是什么呢? 为什么要折腾这个玩意呢?有点地方的网络是私有化网络,内部有大量的Linux服务…

    Linux 2023年6月8日
    090
  • alloc_pages的实现浅析

    alloc_pages的使用 struct page *alloc_pages(gft_t gfp, unsigned int order) alloc_pages定义于 inux…

    Linux 2023年6月7日
    0112
  • Linux内核中内存管理相关的数据结构

    本文简要说明几个内核和内存管理有关的结构体。其中 struct page 和 struct zone有较大幅度的删减,主要删减了和NUMA模型SPARSE模型以及内存热插拔相关的域…

    Linux 2023年6月7日
    0112
  • 聊聊 Netty 那些事儿之 Reactor 在 Netty 中的实现(创建篇)

    本系列Netty源码解析文章基于 4.1.56.Final版本 在上篇文章《聊聊Netty那些事儿之从内核角度看IO模型》中我们花了大量的篇幅来从内核角度详细讲述了五种 IO&am…

    Linux 2023年6月6日
    093
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球