VisualStudio—Remote Debug

2023-11-19

主要用来解决本地调试没问题发布到远端后却报错的项目。

一、Windows Debug Windows

本文叙述采用的VS2022。

①远端(windows服务器)安装远程调试器

远端(windows服务器)安装过程省略,详见官方参考链接设置远程调试器

②本地配置远程调试

无论什么样的程序进行远程调试的大前提:

方法1:

目标代码编译文件和本地项目编译文件所在的目录一模一样。

例:

若本地调试的文件地址:D:\RemoteDebugCode\ConsoleApp_netframework_APITest\bin\Debug也应把上面的文件夹直接复制到远端(windows服务器)上。

方法2:

将本地项目发布到远端(windows服务器)服务器上.

总之要始终保证两个计算机上编译文件版本相同,否则启动远程调试后会进不去断点。

本地调试示例:

参考链接

a.调试普通Console程序

方法1:

①本地项目debug文件如下

②远端也应存在相同的文件,如下:

③接着远端启动调试工具后本地配置远端调试:

.net framework 4.6.2 项目配置方式:

.net 6 项目配置方式:

④本地代码打上断点,本地启动调试,即可进入远端调试。

方法2:

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

发布debug到远程服务器。

双击HelloWorld.exe,运行程序

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

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

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

③可选,如果服务器端进程较多,可以在此筛选,支持模糊查询。找到HelloWorld.exe,双击改进程或点击附加按钮,和附加本地进程一致。随便输入什么字符,回车,可以看到进入了断点。

b.调试IIS发布的程序

调试IIS发布的程序本地项目不用修改项目的debug配置,直接attach process即可,详见下面示例。

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

可能会遇到如下情况:

如果看不到该进程,则需考虑如下操作:

①访问该网站,休眠状态有时候找不到该进程。

②勾选“显示所有用户的进程”,再刷新。

若部署多个网站可通过tiltle等信息辨别是哪个。

方法1:

1.保证目录结构一致

本地代码文件结构如下:

D:\RemoteDebugCode\xxxx

debug文件目录:D:\RemoteDebugCode\xxx\xxx\bin\Debug\net6.0

远端必须存在相同的debug文件目录:D:\RemoteDebugCode\xxx\xxx\bin\Debug\net6.0

2.发布IIS网站

将该远端debug文件目录发布为IIS网站。

3.在远端开启远程调试工具

4.浏览该IIS网站

在远端即可。

5.本地配置好远程调试打上要调试的断点,并附加进程 ,最后启动项目

点击attach后远端调试器会有如下提示:

6.操作3打开的网站并做相应操作使进入4的断点开始调试。

点击上面的execute进到断点,如下

注意事项:

1.当调试时,修改了本地代码就一定要rebuild后将相应修改的dll替换到2的远端debug文件目录下,再启动调试。否则会出现进不去本地断点的情况。

2.调试部署的iis网站一定要注意当前网站只有你在浏览,要是有别人在浏览也会进到你打的断点里影响调试效率。

方法2:

还没试过,后续更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VisualStudio—Remote Debug 的相关文章

  • 有关 HTML 和 PHP 开发工具的帮助

    我是网络开发新手 我有使用原始 HTML 的经验 使用记事本 但我计划为我的最后一年项目制作一个网站 我之前曾就其想法提出过问题 现在我需要一些开发部分的帮助 我可以使用哪种工具来设计网站 请建议一些易于使用且功能强大的工具 利用这些工具我
  • 使用 Powershell 添加 IIS 8.5 自定义日志记录字段

    带有 IIS 8 5 的 Windows Server 2012 R2 允许使用增强型日志记录自定义日志字段 http www iis net learn get started whats new in iis 85 enhanced l
  • 是否可以从同一网络上的另一台计算机访问 Azure 模拟器?

    我正在运行带有 VS 2010 SP1 和 Windows Azure SDK 1 5 的 Windows 7 x64 我希望能够在连接到同一网络的 iPhone 上调试 Web 应用程序 以缩短调试周期 IIS 正在这台计算机上运行 并且
  • IIS 和 ISAPI-WSGI = 非常慢

    我已经使用 IIS 在 IIS 上加载了 2 个 Django 应用程序isapi wsgi http code google com p isapi wsgi 这些都是服务器设置 Windows Server 2003 IIS6 和 SQ
  • “固定请求数”后应用程序池回收

    IIS的应用程序池设置为 固定请求数 后回收有什么影响 假设这个数字是100 第99个人连接到我的网站 那么第100个人来了 就会触发应用程序池回收 这是否意味着会话 1 99 的所有会话信息都将丢失 进程内会话将在应用程序池工作进程重新启
  • 如何从 PowerShell 指定应用程序池身份用户和密码

    我在自动化 Web 应用程序设置和使用应用程序池标识适当配置 IIS 方面遇到了很多困难 我在用 PowerShell 编写的 Web 应用程序部署脚本中执行此操作 我的要求是我需要 PowerShell 脚本将应用程序池身份用户设置为特定
  • 由于“请求缓慢”限制,Azure 网站不断重新启动

    我在西欧和标准模式下设置了一个天蓝色网站 世界标准时间 UTC 今天 2014 年 1 月 30 日凌晨 03 00 突然开始不断重新启动应用程序池 关闭原因是托管环境 我在 eventlog xml 中有很多这样的事件
  • ServerManager 构造函数在测试环境中崩溃

    我正在 MVC 4 中构建一个控制应用程序 遇到了一个非常烦人的问题 当我在本地调试项目时 它工作正常 但是 当我将项目部署到测试服务器 Windows Server 2008 R2 时 出现以下换行符 ServerManager mana
  • 如何在 Windows 10 IIS 中的 Blazor Server 应用程序上支持多个浏览器选项卡?

    我将 Blazor 服务器应用程序发布到 Windows 10 上的本地 IIS 它运行良好 但我无法打开网站的多个窗口 选项卡 如果我尝试 它会永远加载 直到我关闭以前的应用程序窗口 此行为是否是由于 Windows 10 上的 Sign
  • IIS 中一次请求上传大文件时的内存使用情况

    我要使用 IIS7 8 在 ASP NET MVC 中实现一个网站 我需要上传大文件 几 GB 我知道我可以更改 web config 中的配置以上传最多 4GB 的文件 但我有点担心内存使用情况 如果我在一次请求中上传了一个3GB的文件
  • 将 Web 场迁移到 ASP.NET 运行时版本 4,同时保持会话

    我们已将 Web 应用程序从 net 运行时 2 v 3 5 迁移到 net 运行时 4 v 4 5 我有一个部署问题 我们的 sessionstate 服务器是一个 stateserver 并在单独的服务器上运行框架 2 中的 aspne
  • 使用 MSBuild Web 部署到服务器

    我在 VS 2012 项目中设置了发布配置文件 当我在 VS 中右键单击该项目 选择 发布 并单击 发布 按钮时 它会使用 发布配置文件 中提供的设置将项目发布到服务器 当我使用 msbuild 和命令行时 使用以下语法 msbuild e
  • IIS 应用程序池 CLR v4.0 与无托管代码

    我目前正在开发一个使用 Net core 的应用程序 我在新应用程序池的 IIS 管理器上托管了很多微服务 我想知道应用程序池版本 而不是最新的 NET CLR v4 0 是否有任何优势 可以不使用托管代码 我听说没有托管代码选项可以获得更
  • 适用于非 Web 应用程序的带有 Docker + IDE 的 Python 工作流程

    我目前正在尝试将 Docker 插入我的非 Web 应用程序的 Python 开发工作流程中 当前使用 Docker 和 IDE 进行 Python 开发的最佳实践是什么 我需要能够使用 Docker 隔离我的环境并调试我的代码 在网上我发
  • cryptoTicket 参数的值无效

    我最近修改了我公司 eComm 站点的登录名 以具有 保持登录状态 功能 主要更改是使表单身份验证 cookie 对这些用户持久存在 更改发布后 我开始在日志中看到此异常 Invalid value for encryptedTicket
  • 致命:Jenkins IIS ID 无效

    我正在尝试设置 Jenkins 从 bitbucket 中提取并构建一个项目 我在 IIS 8 5 Server 2012 r2 上使用它 我已经设置了 Git 和 Bitbucket 插件 我已经建立了一个包含以下内容的项目 Branch
  • 是否可以配置CLion来独立编译项目中的源文件?

    我目前正在使用 JetBrains CLion IDE 用 C 语言进行一些 Project Euler 挑战 当我用 Python 和 Java 分别用 PyCharm 和 IntelliJ 完成这些任务时 我总是能够创建一个名为 Pro
  • ASP.net MVC 项目无法在 IIS 上编译

    我以前只是将 ASP NET 网站上传到实时服务器 IIS 会自动编译它们 但是 当我对 asp net MVC 项目执行相同操作时 我只是收到错误 并且我需要在上传项目之前发布 构建 项目 注意1 我使用的是VWD 2008 Expres
  • 如何从 IIS 7.5 中的 PHP 页面诊断内部服务器错误 (HTTP 500)

    我正在尝试获取在我的本地开发计算机 带有 IIS 7 5 的 Windows 7 64 位 上运行的 aMember 会员管理系统的试用副本 我有 MySQL 5 5 10 和 PHP 5 3 6 后者是我使用 Windows 安装程序包安
  • 用于验证 IIS 设置的 Powershell 脚本

    是否可以使用 Power Shell 脚本获取 IIS 设置 我希望使用脚本获取 检查以下信息 检查 Windows 身份验证提供程序是否正确列出 协商 NTLM 检查是否启用了 Windows 身份验证 Windows 身份验证高级设置

随机推荐

  • sparkstreamming 消费kafka(2)

    spark streaming提供了两种获取方式 一种是同storm一样 实时读取缓存到内存中 另一种是定时批量读取 这两种方式分别是 Receiver base Direct 一 Receiver base Spark官方最先提供了基于R
  • 使用Jenkins+Gitlab集成Flutter自动化打包(Android),并发布到蒲公英

    本文记录一下使用Jenkins Gitlab集成Flutter自动化打包的过程 在集成时 Jenkins和Gitlab是已经搭建好的 并且Gitlab上已经上传了Flutter项目 Jenkins自动构建打包 安装Gitlab插件 因为Je
  • Js 关于收藏本页和设置首页

  • 交换机二三层转发原理简单总结

    首先二层转发是基于MAC地址转发 三层转发基于IP地址转发 但是这并不意味着仅仅依靠IP地址就能转发 三层转发是建立在二层的基础上的 而仅仅依靠MAC地址是能够转发的 另外 由于二三层转发基于MAC地址 IP地址 FDB表 MAC地址学习
  • 2019年感:忆往昔考博岁月,看今朝花样年华

    人生的际遇谁又能说清楚 就像师范类毕业的女神梦想着当一名老师 结果却阴差阳错穿上了警服 而本应该奔波北上广深的程序员 却成为了一名大学老师 两条平行线的男女 却结为了连理 再如 一心准备中科院却因英语差一分惜败 几乎裸考的学校却可能结出果实
  • 多模态预训练模型CLIP:中文版本开放使用

    公众号原文 关注公众号 获取一手论文咨询 多模态预训练模型CLIP 中文版本开放使用 中文项目地址 https github com real brilliant chinese clip in tensorflow 01 背景 CLIP是
  • 【车联网原型系统|四】adhoc组网+frp内网穿透

    物联网原型系统导航 车联网原型系统 一 项目介绍 需求分析 概要设计 https blog csdn net weixin 46291251 article details 125807297 车联网原型系统 二 数据库 应用层协议设计 h
  • 【Python三大结构练习4】

    目录 1 哥德巴赫猜想 2 判断是否回文 3 Add ings 4 身份证号掩盖出生日期 5 敏感词过滤 1 哥德巴赫猜想 题目描述 一个大正偶数总可以分解为两个质数之和 试编写程序验证哥德巴赫猜想 输入一个正偶数 输出该偶数的质数和分解
  • 使用 Spring 2.5 注释驱动的 IoC 功能

    基于注释 Annotation 的配置有越来越流行的趋势 Spring 2 5 顺应这种趋势 提供了完全基于注释配置 Bean 装配 Bean 的功能 您可以使用基于注释的 Spring IoC 替换原来基于 XML 的配置 本文通过实例详
  • Selenium脚本转化Java代码

    Selenium录制的脚本可以转换Java JUnit单元测试 可以使用Java项目管理工具Maven统一运行 从Selenium脚本中导出Java代码 按照如下步骤 使用Java运行Selenium脚本 使用Chome导出Java脚本必须
  • iframe与vue

    iframe与vue 在vue中使用 创建一个vue页面 iframe的src属性绑定需要的页面 放在template中 在iframe种调用vue的方法 a页面url为a demo com a页面中iframe引用的b页面url为b de
  • laravel8框架-开发实战项目总结(一)

    一 laravel框架的目录结构 app 应用目录 保存项目中的控制器 模型等 bootstrap 保存框架启动的相关文件 config 配置文件目录 database 数据库迁移文件和数据填充文件 public 应用入口文件index p
  • JAVA8 String 面试练习 与 intern()

    idea debug 查看内存信息 public class StringTest4 public static void main String args System out println 2293 System out printl
  • 深入浅出 - 公钥、私钥和数字签名最通俗的理解

    一 公钥加密 假设一下 我找了两个数字 一个是1 一个是2 我喜欢2这个数字 就保留起来 不告诉你们 私钥 然后我告诉大家 1是我的公钥 我有一个文件 不能让别人看 我就用1加密了 别人找到了这个文件 但是他不知道2就是解密的私钥啊 所以他
  • live-server的使用

    本地开发常常需要搭建临时的服务 第一时间我们会想到用http server 但现在流行修改文件浏览器自动刷新hot socketing 热拔插 如live reload 若想浏览器自动打开项目 用opener 现在live server实现
  • 国密SM2 Https服务器搭建--全网最完整方案

    在密码协议层面 国密标准定义了sm2密钥交换协议 IPSec技术规范 SSL 技术规范三个密码协议 在实际应用系统中为保障系统完整性 保密性 不可抵赖性三方面 应采用规范协议实现安全性保障 不要采用自定义密码协议 本文通过江南天安开源国密o
  • java实现将整数转化为中文大写金额

    转载请注明出处 http blog csdn net xiaojimanman article details 49584567 http www llwjy com blogdetail 741867855ccfe191504c83b3d
  • windows修改远程端口

    windows修改远程端口 一 修改注册表 关于远程桌面的注册表的位置 由于系统版本的不同 文件存在的位置也不同 核心是寻找名称类似CurrentControlSet的目录下的PortNumber文件 其是远程桌面端口的端口配置 1 按 w
  • golang: Logrus实现日志打印

    Github https github com sirupsen logrus golang标准库的日志框架非常简单 仅仅提供了print panic和fatal三个函数 对于更精细的日志级别 日志文件分割以及日志分发等方面并没有提供支持
  • VisualStudio—Remote Debug

    主要用来解决本地调试没问题发布到远端后却报错的项目 一 Windows Debug Windows 本文叙述采用的VS2022 远端 windows服务器 安装远程调试器 远端 windows服务器 安装过程省略 详见官方参考链接中设置远程