zoukankan      html  css  js  c++  java
  • 补档 VS远程调试

    先说概念

    开发机:将编译好的程序部署到目标机器上执行。配置 VS 工程,建立与目标机的连接,开始远程调试。

    目标机:负责执行目标程序。安装和运行远程工具 (Remote Debugger),等待来自开发机的连接请求。

    环境要求

    目标机和开发机必须通过网络、工作组、家庭组连接,或者通过网线直连。即可以直接在开发机上访问到目标机上的共享文件夹。

    目标机的准备

    首先在合适的地方创建一个文件夹(Remote),之后再选择“属性”->“共享”。再点击共享,选择用户(这里建议选择Everyone),再点击“共享”,即可创建一个共享文件夹。

    安装Remote Debugger

    要在目标机上安装Remote Debugger,这里提供两种方法(推荐方法一):

    方法一:

    在你本地的 VS 安装目录下找到 msvsmon.exe,此文件就是 Remote Debugger。

    X86的和X64的默认安装位置如下:

    C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDERemote Debuggerx86msvsmon.exe
    C:Program Files (x86)Microsoft Visual Studio2017EnterpriseCommon7IDERemote Debuggerx64msvsmon.exe

    可以共享该目录,在目标机上直接运行 Share Folder 中的 msvsmon.exe 即可。

    也可以把 msvsmon.exe 所在的整个目录 Copy 到目标机上。

    这里同样需要注意,要与目标机的操作系统位数匹配。

    方法二:

    去微软官网下载远程调试工具。

    注意,一定要安装与 VS 版本和目标机操作系统匹配的远程工具。

    下载地址:https://docs.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging#download-and-install-the-remote-tools

    配置Remote Debugger

    首次打开安装好的Remote Debugger,会出现如下所示的配置页面:

    如果你不清楚你的网络连接方式,比较保险的做法是把所有框都勾选上。

    点击配置远程调试按钮之后,会出现如下窗口,代表 Remote Debugger 正在等待来自开发机的连接。

    这里可以点击 Tools > Options 菜单,做一些额外的参数配置。

    时可能会由于防火墙或者认证等原因,导致连接不上的问题,最极端的方法是完全关闭它们。虽然官方出于安全考虑,并不建议这么做。

    假如你确定网络没有任何风险,那么可以关闭两边机器的防火墙。上面窗口中,也可以选择无认证方式。

    最大空闲时间设置为 0 代表永远不会超时,一直处于等待状态。

    TCP/IP 端口号这里默认给出的是 4022,你可以更改,但一般无需这样做。

    关于默认端口号,不同的 VS 版本,是不同的,具体可参考https://docs.microsoft.com/zh-cn/visualstudio/debugger/remote-debugger-port-assignments

    开发机的准备

    在文件管理器中输入“\(目标机的IP地址)”,然后登陆完成后,就能看到目标机上的共享文件夹了。如果你没看到,请检查你的网络或者防火墙。

    在开发机上用VS打开项目,并选择调试→[项目名]属性

    在“调试”页勾选“使用远程计算机”,并输入目标机的IP地址:

    切换到“生成”页,并修改输出路径为目标机上的指定路径,如下图所示

    设置完成后,保存。

    于是我们就可以开心的远程调试了~

    参考链接

    1. https://docs.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging-csharp
    2. https://zhuanlan.zhihu.com/p/29183052
  • 相关阅读:
    NET 获取实例所表示的日期是星期几
    NET npoi 保存文件
    快速排序
    JAVA poi 合并单元格
    JAVA poi 帮助类
    JAVA 字符串编码转换
    NET npoi 合并单元值处理
    NET npoi帮助类
    Task的暂停,继续,取消
    .net ref与out之间区别
  • 原文地址:https://www.cnblogs.com/yinghualuowu/p/9849592.html
Copyright © 2011-2022 走看看