使用VS远程调试其他电脑上安装的软件
今天在用户的一台机器上遇到了很奇怪的问题。一个按钮点击时概率性的第一次点击无反馈。
因为是概率性的,概率又很低,而当初在设计Log时又设计的是必须重启软件才会生效log开关;
所以这里使用当时release编译出的产物+调试产物配合远程调试来跟踪问题。
需要用到的东西:
一、被调试的机器安装Remote Debugger
在VS安装的电脑里进入以下目录,如果是2017的VS找对应的2017文件夹。我的是Enterprise版本,找对应的文件夹就行。比如preview版本的就找preview等等。32位的程序就拷贝X86的目录到对应的软件机器上,64位的就拷贝x64用于调试。
目录如下:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger
C:\Program Files (x86)\Microsoft Visual Studio\2019\Preview\Common7\IDE\Remote Debugger
在需要被调试的机器上启动目录下的msvsmon.exe 程序。我保持了默认、点击配置远程调试。并在弹出的UAC中选择是。

右下角图标通知栏就会有一个下图的图标,如果没有,在收起来的图标栏里找一下。这个就是调试工具,用于安装在被调试的机器上。

双击打开调试器。选择工具=》选项=》我关闭了身份验证,选择无身份验证,设置最长时间为999999。当然您也可以设置windows 身份验证,但是我调试时间比较短,而且只是调试的时候打开这个软件,所以我设置了无身份验证,点击确定。

我是在同一个局域网之内的,如果不是同一个局域网,看是否有外网独立IP。或者使用花生壳之类的转发,也可以。
二、在VS中打开对应的代码并附加远程调试的进程。

在对应的代码工程中,点击菜单栏中的调试=》附加到进程=》连接目标=》查找=》找到下面的1个连接=》点击选择

如果列表中没有,请检查是否在一个网络之内。或者是否能访问到这个机器。在cmd下用ping的方式验证一下,是否可以连通IP地址。
如果选择成功之后,进程列表就会刷新,然后选择你需要调试的进程,点击附加,如果没有你要的进程,请在需要被调试的机器上确认是否进程存在,然后再调试的机器上点击刷新。找到需要调试的进程,点击附加。就可以了。
三、在VS中使用模块加载添加断点
PS:VS没有运行DEBUG是没有这个菜单的
VS附加进来之后。如果没有对应版本调试使用的pdb文件是没有办法打断点调试的。
再运行起来的VS中点击调试=》窗口=》模块,用于附加调试。

再这个模块功能中找到你对应的exe和DLL。然后看符号状态,是否是已加载符号,如果不是,则右键点击对应的行,选择加载符号,选择代码对应的pdb文件。一定要注意,代码和应用程序和PDB文件要能对应上,否则没有办法调试。这个可以再每次出版本提交代码的时候。再SVN或者git上做个记录,把pdb产物也提交上去做备份。

通过以上步骤,就可以正常再你的代码中增加断点,并且通过操作调试拉。
我创建了一个C#相关的交流群。用于分享学习资料和讨论问题,欢迎有兴趣的小伙伴:QQ群:542633085
使用VS远程调试其他电脑上安装的软件的更多相关文章
- 反Secure Boot垄断:兼谈如何在Windows 8电脑上安装Linux
感谢HQSQ的投递一.自由软件基金会的呼吁上周,2012年将近结束的时候,自由软件基金会(FSF)发出呼吁,要求人们继续支持反Secure Boot垄断,希望签名者能达到5万人(目前是4万).我觉得, ...
- (windows)一台电脑上安装两个Mysql服务
原文:https://my.oschina.net/u/1472917/blog/410732 最近需要在一台电脑上安装两个Mysql服务,需求稍微有些奇怪,但确实很必要.本人原本为了本机测试Word ...
- 如何在老惠普电脑上安装windows xp系统
如何在老惠普电脑上安装windows xp系统 前提,老式的紧凑的惠普台式机,装了linux系统,想要装windows xp系统另作他用.但是使用U盘PE怎么也进不了? 解决办法: 1.拆下惠普主机上 ...
- .NET/C# 检测电脑上安装的 .NET Framework 的版本
原文:.NET/C# 检测电脑上安装的 .NET Framework 的版本 如果你希望知道某台计算机上安装了哪些版本的 .NET Framework,那么正好本文可以帮助你解决问题. 本文内容 如何 ...
- 在Ubuntu18.04.2LTS上安装电子书软件
在Ubuntu18.04.2LTS上安装电子书软件 一.前言 很多时候我们想在Ubuntu上阅读电子书,但是Ubuntu上的软件对于这种阅读的界面支持并不好,因此我们需要自己加入喜欢的阅读器 ...
- macbook上安装虚拟机软件如何操作?
很多用户都不太熟悉苹果系统,用惯了Windows之后再过渡到MacOS难免会有些不习惯.为了使我们又可以用回那些熟悉的Windows应用,比较常见的办法就是安装macbook虚拟机.下面小编就教大家一 ...
- 通过Mac远程调试iPhone/iPad上的网页(转)
我们知道在 Mac/PC 上的浏览器都有 Web 检查器这类的工具(如最著名的 Firebug)对前端开发进行调试,而在 iPhone/iPad 由于限于屏幕的大小和触摸屏的使用习惯,直接对网页调试非 ...
- 如何通过Chrome远程调试android设备上的Web网站
网上的帖子很多,但很多都是老版本的,试过了,根本不管用,花了一天时间,终于在本机试验通过了,特记录下来,以备用.有需要的朋友也可以参考.先上一张图,看看PC端chrome上调试的效果: 左边是手机的模 ...
- 关于如何在电脑上安装adb来操作手机(Android)的方法及步骤
1.需要真实的安卓手机: 2.安卓手机需要开启USB调试模式,允许电脑进行调试(各个手机的开启方式可能不同,不知道的自行百度): 3.电脑需要安装ADB驱动,这里提供一个下载地址:https://ad ...
随机推荐
- Navigation DialogFragment展示dialog
如果按照一般fragment的写法: 在nav_config中 <fragment android:id="@+id/fragment_crime_detail" andro ...
- docker部署安装流程第一版
docker部署安装流程第一版 1.以Dockerfile的方式进行构建docker 以cloud 新联盟为例 dockerfile from hub.c.163.com/library/maven ...
- TVM适配NN编译Compiler缺陷
TVM适配NN编译Compiler缺陷 内容纲要 前言 TVM针对VTA的编译流程 自定义VTA架构:TVM的缺陷与性能瓶颈 TVM缺陷与瓶颈 缺陷一:SRAM配置灵活性差 缺陷二:计算阵列配置僵硬 ...
- 摄像头标定GML Camera Calibration
摄像头标定GML Camera Calibration GML Camera Calibration官方版是一款十分优秀出色的相机标定软件,GML Camera Calibration官方版界面友好, ...
- 用华为MindSpore进行分布式训练
技术背景 分布式和并行计算,在计算机领域是非常重要的概念.对于一些行外人来说,总觉得这是一些很简单的工作,但是如果我们纵观计算机的硬件发展史,从CPU到GPU,再到TPU和华为的昇腾(NPU),乃至当 ...
- Github_远程仓库多人协作操作,解决冲突
前提:假设原已有一个代码仓库,加入协作者,大家一起完成一个项目. 一.添加伙伴-->伙伴同意加入-->伙伴clone,提交代码 1.创建者进入仓库主页 ==> Settings页面 ...
- fiddler选项卡-Composer(构建请求)
Composer Composer支持手动构建http.https和ftp请求.点到composer选项卡界面,我们可以看到下面有一串英文. use this page to compose a Re ...
- oracle单机开机自启动
====================== 单机数据库开机自启动 ============================= 环境: oracle数据库单机 版本:11.2.0.4 1.修改配置文 ...
- 基于Android平台的图书管理系统的制作(1)
在学习了郭神的第一行代码前半段之后,想通过一次实践来完成对已学知识的巩固.于是码下了这个图书管理系统客户端. IDE Android studio,语言 JAVA.XML: 在刚开始设计的时候对于这个 ...
- Django(65)jwt认证原理
前言 带着问题学习是最有目的性的,我们先提出以下几个问题,看看通过这篇博客的讲解,能解决问题吗? 什么是JWT? 为什么要用JWT?它有什么优势? JWT的认证流程是怎样的? JWT的工作原理? 我们 ...