VS2019远程调试虚拟机(免除附加之苦,免去拷贝之痛)的超便捷方法(馊主意)
VS2019远程调试虚拟机(免除附加之苦,免去拷贝之痛)的超便捷方法(馊主意)
目的:局域网内,宿主机远程开发调试虚拟机中的exe。但我比较懒。既不想附加exe进程,也不想将生成的exe拷贝到虚拟机。
准备工作:宿主机:安装 VS2019,VMware Workstation 15(自行安装系统)
开工:
1.以防万一,我把宿主机,虚拟中的网络防火墙都关了。
“程序员的电脑里不养几只病毒,都不要意思说自己是程序员-------某大神”
2.我把宿主机和虚拟机的 允许远程都打开了。操作:此电脑>右击属性>远程设置>远程>勾选 允许远程协助连接这台计算机。
//。。。
3.宿主机中 创建一个 共享文件夹,虚拟机能访问,这样方便 宿主机和虚拟机之间的文件拷贝。
具体操作:宿主机中选一好地方,新建个文件夹,命名:共享文件夹。右击属性>共享>...
(自行百度吧...当虚拟机能正常访问到宿主机的共享文件夹,则事成矣)
4.右击VS2019>打开文件所在的位置,同级目录下找到Remote Debugger。把里面的x86,x64根据你项目的需求,利用上一步的共享文件夹拷贝到虚拟机
中,这个是远程调试 所用到的vs自带的客户端工具。比如我要调试的程序是x64位的,我就把x64,拷贝到虚拟机中。
5.虚拟机中运行x64(或者x86)中的msvsmon.exe,点 工具>选项,勾选无身份验证,允许任何用户进行调试>确定。
6.宿主机中新建一个VS2019 C++控制台应用程序。
7.把exe直接生成到虚拟机的目录下:有没有办法,能不能直接将exe生成到虚拟机中的,这样就省去了每次编译完,拷贝的累人的操作了。因为懒得重复做一个动作,于是就有了批处理,宏;因为懒得去计算,于是就有了计算器;因为懒得用手打游戏,于是,脚本外挂应运而生...
“人是个很懒的动物,所以造就了很多能省力的工具. 对程序员而言,勤劳,并不是什么好事... -------某大神”
因为不想来回拷贝,贼烦,所以,步骤7的想法油然而生。 灵光乍现:能不能利用步骤3中创建的共享文件夹呢?
(经过实验,VM>虚拟机>网络适配器,得选NAT模式才可以进行 共享文件夹之间的访问,参考了很多博客,他们都说必须改成桥接模式才能附加调试。这就比较尴尬了。我既要能网络通讯调试,也要能互访共享文件夹...),回想到小学课文:小马过河,决定得自己验证一下。
8.模式选NAT模式,因为我要共享文件夹。
打开VS项目>属性,在配置属性>常规>输出目录 :E:\共享文件夹.,编译项目,你就发现,成功在虚拟中显示了。
设置要启动的调试器:远程Windows调试器
配置属性>调试>远程命令:把虚拟机的上图的路径,写入,例如我的:\\Desktop-rn4csvl\共享文件夹\ConsoleApplication1.exe
配置属性>调试>工作目录:\\Desktop-rn4csvl\共享文件夹\
配置属性>调试>远程服务器名称:填入虚拟机的IP地址,例如我的:192.168.131.128
链接:不带身份验证的远程访问
9.(确保步骤5 在运行),宿主机中,编译,运行,缺少几个dll库,没关系,从宿主机 System32 SysWow64中拷贝到虚拟机对应目录下。 完事后, 卧槽,可行,美滋滋。
exe成功直接生成到 共享文件夹,成功从虚拟中运行,成功可以在宿主机中调试!
我是程序员,写了太多,有点勤劳,不是好事...
然而不幸的是,还是翻车了,死在了黎明前的黑夜.
死亡原因:宿主机远程调试虚拟机中的exe,需要以管理员身份运行,但是,虚拟机访问的是宿主机的共享文件夹,属于网络访问,不能设置运行权限(好像设置了本地策略组也不行),毕竟共享文件夹所属于宿主机,而不是虚拟机。
等等,属于宿主机,不属于虚拟机...?那我为什么不反过来试试?
我在虚拟机中创建文件夹,然后共享给宿主机。嗯,赶紧试试!
10.我在VM虚拟机 桌面上,创建了一个(要共享给宿主机的)文件夹,起名Xnj_共享,我这里决定不偷懒,说的详细一点。 右击Xnj_共享>属性>共享 标题栏,点共享(s)
点共享。 共享 标题栏,点击 高级共享(D)
其中,这个路径要记下来,宿主机要用到:。安全 标题栏中也这么设置把,我也不知道有没有多改,反正我给足充足的权限就是了:
。确定完事
11.宿主机中 桌面或者其他地方 右击>新建>快捷方式,填入上图中的 \\WIN-2TSGG5R5BTT\Xnj_共享>下一步>完成。尝试拖一个文件,看看虚拟机和宿主机是否能共享。
(不要添加网络映射成Z盘什么的,VS找不到位置...)
12.宿主机中,打开共享的哪个文件夹,重新设置VS生成目录和工作目录等参数:
虚拟机中打开共享的文件夹,把路径复制到宿主机的VS设置中:
下面就是见证奇迹的时刻:
12. 大功告成!
VS2019远程调试虚拟机(免除附加之苦,免去拷贝之痛)的超便捷方法(馊主意)相关推荐
- VSCode XDebug 远程调试虚拟机CentOS7上PHP项目
声明 以下[参考]链接,如有侵权,请联系删除,在此先感谢在网络上无私奉献的人们~ 如有错误,请联系更正 文章目录 声明 背景 本机配置 虚拟机配置 1. 设置代码文件共享 2. 修改xdebug配置 ...
- VS2019 远程调试
碰到一个问题,在本机调试没有任何问题,部署到测试环境的CentOS 7 上,抛出异常.为解决这个问题,使用远程调试. 第一步,设置远程链接 第二步,Debug--Attach to Process ...
- VS远程调试(Visual Studio)远程连接到linux cmake(跨平台开发)(适用于VS2019,且远程目标平台cmake版本大于等于3.8)
参考文章:使用vs2019进行Linux远程开发 vs进行远程开发分为三步: 1.创建远程环境的连接,随后让vs将远程环境中的系统头文件同步到本地(也可以指定其他地方的头文件,后面会讲解),c++的代 ...
- IDA同步x32dbg远程调试分析虚拟机内恶意软件
演示环境: 主机:win10 目标虚拟机:win7 用得到的工具: IDA,0D,ret-sync插件 IDA远程调试虚拟机内可执行程序 把IDA的dbgsrv目录下的win32_remote.e ...
- vscode+XDebug调试远程环境(虚拟机)上的PHP代码
对于简单的项目或仅仅想知道某一位置的某个变量是什么值,直接使用var_dump配置exit来打印和中断就可以了,方便又快捷,而对于大型项目的调试,或想了解某个系统的整个运行过程,xdebug可能会是更 ...
- 使用Python控制1602液晶屏实时显示时间(附PyCharm远程调试)
前言 原创文章,转载引用务必注明链接.水平有限,如有疏漏,欢迎指正. 本文介绍一下UP板的GPIO资源使用,以及一个使用Python演示一个简单的demo. 本文使用Markdown写成,为获得更好的 ...
- 地平线x3使用vscode 远程调试linux虚拟机或者arm 开发板
使用vscode做远程调试的主要目的是为了能够调试自己的arm开发板,也就是地平线x3派.之前他们提供了基于python开发,模型移植但是后处理这一块太慢了,所以想着如何去移植. 首先从vscode里 ...
- VS2008远程调试简介
VS2008远程调试简介 先说明两个概念: 1. 目标机:远程需要调试的机子,也就是被调试程序exe所在的机子,该机子可以安装VS2008或者不安装vs2008: 2. 调试机:安装VS2008的机子 ...
- Windows驱动开发系列小白入门经典 - vs2019双机调试wdk驱动程序
vs2019双机调试wdk驱动程序 1.远程配置虚拟机 我们发现VS2019菜单栏那里没有Driver选项,怎么办呢? 在虚拟机设置中把打印机移除后再添加串行端口 该端是服务器,另一端是应用程序,这是 ...
最新文章
- python小学生教材-python纳入小学生教材,以后该如何辅导娃的作业?
- sql 中使用 where 1=1 和 where 1=0的作用
- 精益项目管理的可行性分析
- 办公:Office快捷键之王,这个键应该没人不服!
- 前端如何实现网络速度测试功能_分析Web前端测试要点,从架构原理上进行分析,希望大家能够掌握...
- ideal新建springboot工程_MyBatis初级实战之一:Spring Boot集成
- 【kafka】kafka 指定分区消费 不会触发 reblance
- TensorFlow-谷歌深度学习库 数据读取器
- 开博第一篇,附上我开通博客的理由
- matlab uicontrol 居中,MATLAB有关uicontrol的问题~
- 带瀑布流的电钢琴_你没有看错 这个Find智能钢琴它会自己弹琴
- [转载] 达特茅斯学院 Dartmouth College
- 程序的启动、卸载和分享
- foxpro获取html数据类型,FoxPro数据库写入html文件中
- Spring_背诵英文单词
- Jupyter 安装与应用
- Nature综述:鸟枪法宏基因组-从取样到数据分析——2万字带你系统入门宏基因组实验和分析
- 如何记账能简单高效,记账全攻略来了
- 美国计算机专业修什么课程,美国大学计算机专业课程有4大特点
- php不支持gd库,如何解决php不支持gd库的问题