精华内容
参与话题
问答
  • IDEA实现远程调试步骤详解

    万次阅读 2019-08-11 19:36:37
    IDEA不仅可以本地调试代码,也可以远程调试代码。 一、基本原理 本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信,传递调试指令和调试信息。 被调试程序的远程虚拟机:作为 Debug 服务端,监听 ...

    IDEA不仅可以本地调试代码,也可以远程调试代码。

    一、基本原理

    本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信,传递调试指令和调试信息。 
    被调试程序的远程虚拟机:作为 Debug 服务端,监听 Debug 调试指令。jdwp是Java Debug Wire Protocol的缩写。 
    调试程序的本地虚拟机:IDEA 中配置的 Remote Server,指定 Debug 服务器的Host:Port,以供 Debug 客户端程序连接。

    二、远程调试步骤

    1、IDEA配置启动环境(Debug服务器)

    2、开启远程Debug服务

    1)对于jar包项目

    命令行添加启动项,如下:

    ## 注意新参数必须在 -jar 之前
    java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar test.jar

    2)对于war包项目

    启动脚本(catalina.sh)添加如下信息:

    ## sudo vim $CATALINA_HOME/bin/catalina.sh
    JAVA_OPTS="$JAVA_OPTS -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005"

    注意:

    1)有时候调试时提示Connect time out,这时候需要关闭防火墙

    2)只有本地和远程的代码保持一致才能进行远程调试

     

     
    展开全文
  • Idea 远程调试详解

    2019-08-17 12:27:10
    首先,需要调试的服务器的ip,比如180.116.81.42 还有远程服务器的防火墙需要关掉 本地 Idea 设置 1. 点击 Run -> EditConfiguration -> + -> Remote 2. 红框 1 处,将它复制下来,下面需要用到 3. ...

    准备工作

    1. 首先,需要调试的服务器的ip,比如 180.116.81.42
    2. 还有远程服务器的防火墙需要关掉

    本地 Idea 设置

    1. 点击 Run -> Edit Configuration -> + -> Remote

    2. 红框 1 处,将它复制下来,下面需要用到

    3. 红框 2 处,填上远程服务器的 ip 

    4. 红框 3 处,是默认端口,不用动

    服务器项目设置

    这里可以分为两种方式:

    Tomcat 启动方式

    1. 在tomcat / bin 目录下,修改catalina.sh 
    2. 在 catalina.sh 文件最上面添加 复制的JVM参数,前面加上前缀,如:
    export JAVA_OPTS='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005'

    Jar 包启动方式

    在jar包启动的命令上新加复制的 JVM参数

    nohup java -jar -Xms$xms -Xmx$xmx -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -Dfile.encoding=UTF-8 $path/$jar_name

    启动

    1. 启动服务
    2. 启动 Idea 的 Remote Server,看到下图效果则表示成功

      3. 在代码上打断点,调用服务接口。就可以进行调试了!

    展开全文
  • VS远程调试

    2020-04-13 14:13:52
    你可以调试已部署在另一台计算机的 Visual Studio ... 有关远程调试 Windows 应用商店应用程序和 Azure 应用程序的信息,请参阅windows 应用商店和 azure 应用上的远程调试。 获取远程工具 您可以直接在要调试的...

    你可以调试已部署在另一台计算机的 Visual Studio 应用程序。 要进行此操作,可使用 Visual Studio 远程调试器。

    此处的信息适用于 Windows 桌面应用程序和 ASP.NET 应用程序。 有关远程调试 Windows 应用商店应用程序和 Azure 应用程序的信息,请参阅windows 应用商店和 azure 应用上的远程调试

    获取远程工具

    您可以直接在要调试的设备或服务器上下载远程工具,也可以从安装了 Visual Studio 的主机获取远程工具。

    下载和安装远程工具

    1. 在要调试的设备或服务器计算机(而不是运行 Visual Studio 的计算机)上,获取正确的远程工具版本。

    2. 在 "下载" 页上,选择与你的操作系统(x86、x64 或 ARM 版本)匹配的工具版本,然后下载远程工具。

      重要

      建议安装与 Visual Studio 版本匹配的最新版本的远程工具。 不推荐使用不匹配的版本。

      此外,你必须安装与你要在其上安装的操作系统具有相同体系结构的远程工具。 换句话说,如果要在运行64位操作系统的远程计算机上调试32位应用程序,则必须在远程计算机上安装该远程工具的64位版本。

    3. 完成下载可执行文件后,请按照说明在远程计算机上安装该应用程序。 请参阅安装说明

    如果尝试将远程调试器(msvsmon)复制到远程计算机并运行它,请注意,仅当你下载这些工具时才安装远程调试器配置向导rdbgwiz.exe),并且你可能需要使用向导进行配置,尤其是在你希望远程调试器作为服务运行时。 有关详细信息,请参阅下面的"(可选)将远程调试器配置为以下服务"

    从文件共享运行远程调试器

    你可以在已安装 Visual Studio 2015 社区版、专业版或企业版的计算机上找到远程调试器(msvsmon)。 在许多情况下,设置远程调试的最简单方法是从文件共享运行远程调试器(msvsmon)。 有关使用限制,请参阅远程调试器的帮助页(远程调试器中的帮助/使用情况)。

    1. 在与你的 Visual Studio 版本匹配的目录中查找msvsmon。 对于 Visual Studio 2015:

      Program Files\Microsoft Visual Studio 14.0 \ Common7\ide\remote debugger Debugger\x86\msvsmon.exe

      Program Files\Microsoft Visual Studio 14.0 \ Common7\ide\remote debugger Debugger\x64\msvsmon.exe

    2. 在 Visual Studio 计算机上共享远程调试器文件夹。

    3. 在远程计算机上,运行msvsmon。 按照安装说明进行操作。

    提示

    有关命令行安装和命令行参考,请参阅msvsmon的帮助页,方法是在安装了 Visual Studio 的计算机上的命令行中键入 msvsmon.exe /? (或在远程调试器中使用 "帮助/使用")。

    Supported Operating Systems

    远程计算机运行的是下列操作系统之一:

    • Windows 10

    • Windows 8 或 8.1

    • Windows 7 Service Pack 1

    • Windows Server 2012 或 Windows Server 2012 R2

    • Windows Server 2008 Service Pack 2、Windows Server 2008 R2 Service Pack 1

    支持的硬件配置

    • 1.6 GHz 或更快的处理器

    • 1 GB 的 RAM(如果在虚拟机上运行则需 1.5 GB)

    • 1 GB 的可用硬盘空间

    • 5400 RPM 硬盘驱动器

    • DirectX 9 支持的视频卡,可在 1024 x 768 或更高版本的显示分辨率下运行

    网络配置

    远程计算机与 Visual Studio 计算机必须通过网络、工作组、家庭组或其他通过以太网电缆直接连接的方式连接在一起。 不支持通过 Internet 进行调试。

    设置远程调试器

    必须在远程计算机上具有管理权限

    1. 定位远程调试器应用程序。 (打开 "开始" 菜单并搜索 "远程调试器"。)

      如果在远程服务器上运行远程调试器,则可以右键单击远程调试器应用,然后选择 "以管理员身份运行" (或者,你可以将远程调试器作为服务运行)。如果未在远程服务器上运行,只需正常启动。

    2. 首次启动远程工具时(或在配置之前),将显示 "远程调试配置对话框" 对话框。

      RemoteDebuggerConfWizardPage

    3. 如果未安装 Windows 服务 API (仅在 Windows Server 2008 R2 上发生),请选择 "安装" 按钮。

    4. 选择你想要在上面使用远程工具的网络类型。 必须至少选择一种网络类型。 如果这些计算机通过域连接,则必须选择第一项。 如果这些计算机通过工作组或家庭组连接,你需要视情况选择第二或第三项。

    5. 选择 "配置远程调试",配置防火墙并启动工具。

    6. 配置完成后,将显示远程调试器窗口。

      RemoteDebuggerWindow

      远程调试器正在等待连接。 记下显示的服务器名称和端口号,因为稍后要在 Visual Studio 中进行配置时需要用到它。

      完成调试并且需要停止远程调试器后,请单击窗口上的 "文件"/"退出"。 你可以从 "开始" 菜单或从命令行重新启动它:

      <Visual Studio 安装目录 > \Common7\IDE\Remote 调试器\< x86、x64 或 Appx\msvsmon.exe

    配置远程调试器

    首次启动后,你可以更改远程调试器的部分配置。

    • 若要使其他用户能够连接到远程调试器,请选择 "工具"/"权限"。 你必须拥有管理员特权才能授予或拒绝权限。

      重要

      您可以在与您在 Visual Studio 计算机上使用的用户帐户不同的用户帐户下运行远程调试器,但必须将不同的用户帐户添加到远程调试器的权限中。

      或者,你可以从命令行启动远程调试器,其中 /allow <用户名 > 参数: msvsmon/allow <username@computer>

    • 若要更改身份验证模式或端口号,或为远程工具指定超时值:请选择 "工具"/"选项"。

      有关默认情况下使用的端口号列表,请参阅远程调试器端口分配

      警告

      可以选择在“无身份验证”模式下运行远程工具,但强烈建议不要使用此模式。 在此模式下运行时,无法保证网络安全。 只有在确认网络不会遇到恶意通信的情况下,才可选择“无身份验证”模式。

    可有可无将远程调试器配置为服务

    对于在 ASP.NET 和其他服务器环境中进行调试,您必须以管理员身份运行远程调试器,或者,如果您希望它始终运行,请将远程调试器作为服务运行。

    如果要将远程调试器配置为服务,请执行以下步骤。

    1. 找到 “远程调试器配置向导”(rdbgwiz.exe)。 (这是一个独立于远程调试器的应用程序。)仅当安装远程工具时,该功能才可用。 它不与 Visual Studio 一起安装。

    2. 开始运行配置向导。 当第一页出现时,单击“下一步”。

    3. 勾选“将 Visual Studio 2015 远程调试器作为服务运行” 复选框。

    4. 添加用户帐户的名称和密码。

      你可能需要将“作为服务登录” 的用户权限添加到此帐户。 (找到“启动” 页或窗口(或命令提示符下的类型 secpol )中的 “本地安全策略”(secpol.msc)。 当显示窗口时,双击“用户权限分配”,然后在右窗格中找到 “作为服务登录”。 双击该选项。 将用户帐户添加到 "属性" 窗口,然后单击 "确定" 。)单击 "下一步"。

    5. 选择你希望远程工具与之通信的网络类型。 必须至少选择一种网络类型。 如果这些计算机通过域连接,则应选择第一项。 如果这些计算机通过工作组或家庭组连接,则应选择第二或第三项。 单击“下一步”。

    6. 如果可以启动服务,则会显示“你已成功完成 Visual Studio 远程调试器配置向导”。 如果无法启动服务,则会显示“未能完成 Visual Studio 远程调试器配置向导”。 此页还提供了为使服务正常启动要遵循的一些提示。

    7. 单击 “完成”

      此时,远程调试器正作为服务运行。 你可以通过转到“控制面板”/“服务” 并找到“Visual Studio 2015 远程调试器”来对此进行验证。

      你可以从“控制面板”/“服务”停止和启动远程调试器服务。

    远程调试 Visual C++ 项目

    在下面的过程中,项目的名称和路径为 C:\remotetemp\MyMfc,远程计算机的名称为MJO

    1. 创建名为 mymfc 的 MFC 应用程序。

    2. 在应用程序中容易到达的地方设置断点,例如,在 MainFrm.cpp 中(位于 的开头) CMainFrame::OnCreate

    3. 在解决方案资源管理器中,右键单击项目,然后选择 "属性"。 打开“调试”选项卡。

    4. 将“要启动的调试器”更改为“远程 Windows 调试器”。

      RemoteDebuggingCPlus

    5. 对属性进行以下更改:

      表 2
      设置 “值”
      远程命令 C:\remotetemp\mymfc.exe
      工作目录 C:\remotetemp
      “远程服务器名称” MJO:portnumber
      连接 带 Windows 身份验证的远程访问
      调试器类型 仅限本机
      部署目录 C:\remotetemp。
      其他要部署的文件 C:\data\mymfcdata.txt。

      如果部署其他文件(可选),则该文件夹必须在两台计算机上都存在。

    6. 在解决方案资源管理器中,右键单击该解决方案,然后选择 " Configuration Manager"。

    7. 对于“调试”配置,请选中“部署”复选框。

      RemoteDebugCplusDeploy

    8. 开始调试("调试"/"启动调试" 或按F5)。

    9. 可执行文件会自动部署到远程计算机。

    10. 如果系统提示,请输入网络凭据以连接到远程计算机。

      所需的凭据特定于你的网络安全配置。 例如,在域计算机上,您可以选择一个安全证书或输入您的域名和密码。 在非域计算机上,可以输入计算机名称和有效的用户帐户名称(如MJO-DL\name@something.com)以及正确的密码。

    11. 在 Visual Studio 计算机上,你应看到在断点处已停止执行。

      提示

      或者,你可以采用单独的步骤部署文件。 在“解决方案资源管理器”中,右键单击“mymfc”节点,然后选择“部署”。

      如果具有需要由应用程序使用的非代码文件,则需要将其包含在 Visual Studio 项目中。 为其他文件创建项目文件夹(在解决方案资源管理器中,单击 "添加/新建文件夹"。)然后,将文件添加到该文件夹(在解决方案资源管理器中,单击 "添加/现有项",然后选择文件。)。 在每个文件的“属性”页中,将“复制到输出目录”设置为“始终复制”。

    使用远程符号设置调试

    你应能够使用你在 Visual Studio 计算机生成的符号调试你的代码。 使用本地符号时远程调试器的性能更佳。 如果必须使用远程符号,则需要告诉远程调试监视器以查找远程计算机上的符号。

    从 Visual Studio 2013 Update 2 开始,你可以使用以下 msvsmon 命令行开关来使用用于托管代码的远程符号:Msvsmon / /FallbackLoadRemoteManagedPdbs

    有关详细信息,请参阅远程调试帮助(在远程调试器窗口中按F1 ,或单击 "帮助/用法")。 有关详细信息,可以参阅 Visual Studio 2012 和 2013 中的 .NET 远程符号加载更改

    在 Windows 应用商店和 Azure 应用上进行远程调试

    有关使用 Windows 应用商店应用进行远程调试的详细信息,请参阅从 Visual Studio 调试和测试远程设备上的 Windows 应用商店应用

    有关在 Azure 上进行调试的信息,请参阅以下主题之一:

    请参阅

    在 Visual Studio 中进行调试
    配置 Windows 防火墙以便进行远程调试
    Remote Debugger Port Assignments
    远程调试远程 IIS 计算机上的 ASP.NET
    远程调试错误和疑难解答

    展开全文
  • 远程调试软件

    2018-11-26 16:56:50
    VNC远程调试软件...
  • 远程调试的正确姿势

    2019-08-19 11:00:00
    目前测试环境开启了远程调试,但是很多小伙伴不清楚远程调试的正确姿势,容易影响其他人对于测试环境的使用,更严重的可能会导致服务不可用。这里讲一下我们了解到的远程调试正确姿势,供小伙伴们参考。 一、远程...

    目前测试环境开启了远程调试,但是很多小伙伴不清楚远程调试的正确姿势,容易影响其他人对于测试环境的使用,更严重的可能会导致服务不可用。这里讲一下我们了解到的远程调试正确姿势,供小伙伴们参考。

    一、远程调试的开启
    1)Tomcat工程是在tomcat所在目录下的bin/startup.bat中,加入

    SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

    2)springBoot工程在启动时加上同样的参数

    java -server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 -jar ***.jar

    具体的参数含义:

    -server是通知JVM工作在服务器模式下

    -Xdebug是通知JVM工作在DEBUG模式下

    -Xnoagent禁用默认sun.tools.debug调试器

    -Djava.compiler=NONE禁止 JIT 编译器的加载

    -Xrunjdwp加载JDWP的JPDA参考执行实例(JDWP是java调试传输协议,即调试器与目标java程序之间的传输协议。JVM自带对这个协议的支持。)

    transport用于在调试程序和 VM 使用的进程之间通讯

    dt_socket套接字传输

    server=y/n JVM 是否需要作为调试服务器执行

    suspend=y/n是否在调试客户端建立连接之后启动 JVM(如果排查远程服务启动不成功的问题,可以尝试设置为y,这样工程启动时就会连接到本地)

    address调试服务器的端口号,客户端用来连接服务器的端口号

    二、IDEA调试器的使用

    1.查询远程服务地址及调试端口

    Ip可以在弹性云中看到容器地址。

    端口可用ps -ef|grep ***查看进程信息,如果开启了远程调试,可以看到上述参数,address为调试端口。

    2.新建远程连接

    点击edit Configurations,点击+新增,点击remote。

    在这里插入图片描述

    设置name/host/port
    在这里插入图片描述

    3.点击debug图标,出现以下提示即为远程连接成功
    在这里插入图片描述

    4.设置与使用断点

    在想要调试的代码上轻轻一点就能打上断点。但是我们很有必要对断点进行一些正确的设置,使用时也要有注意点。不然很容易产生不良影响。

    1)断点选Thread,有必要可加Condition

    在这里插入图片描述

    Thread与all的不同点在于,当进入Thread断点时,未打断点的请求依然可以访问。

    当进入All断点时,整个服务的请求都会被阻塞住。

    Condition的写法与java语法一致。如
    在这里插入图片描述

    2)进入断点后,点击mute

    爱护环境,人人有责。远程环境需要我们大家一起爱护,用了远程调试,可能会影响别人的调用。而且如果是RPC服务,长时间得不到响应可能会导致集群认为远程服务是脏节点,导致后续的请求都不能得到响应,一段时间才能恢复。

    一个非常好的避免方法就是,当我们的程序进入断点后,迅速点击mute,这样别人再次调用这个接口时能够调通。并且不会影响我们这一次的调试。
    在这里插入图片描述

    展开全文
  • java项目远程调试

    千次阅读 2019-05-16 23:15:14
    背景 目前大家调试项目,比较通用的...所以,为了节省无用的时间开销,大家可以使用java的远程调试模式。在本地DEBUG服务器上代码。提升效率 使用 a) 目前已经部署好的一个机器是vmborderm5.m.jd.care (11.25.210.9...
  • 远程调试的常见问题

    2019-01-02 06:21:51
    为什么要用远程调试? 1.服务启动时间较长 2.本地调试通过前端时常会打到远程服务器上 3.本地环境Windows,远程环境为Linux 怎么远程调试? Idea Edit Configurations -> + Remote 重要的是远程机器Ip , 端口 -...
  • vs2010远程调试

    千次阅读 2018-12-23 17:16:44
     将vs2010远程调试监视器Remote Debugger拷贝到被调试机器中。  (Remote Debugger默认路径: C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger) 1 被调试机设置  根据操作...
  • 如何远程调试

    2018-10-18 15:26:07
    1、配置需要远程调试的 2、启动(若为下图这样,则连接成功)
  • Pycharm配置远程调试

    万次阅读 多人点赞 2017-11-23 18:15:26
    使用远程调试器 使用远程解释器 默认情况下我们在本地开发Python程序时,使用的是本地的Python解释器,如果你安装了virtualenv或者pyenv的话,还可以选择这些虚拟环境。而使用Pycharm的专业版,则还可以选择使用...
  • 使用Eclipse进行远程调试

    万次阅读 多人点赞 2008-07-05 17:19:00
    今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,... 什么是远程调试,就是在A机器上利用Eclipse单步
  • 远程调试(Remote debugging)配置方法: 本地项目配置 第一步: 第二步:选择远程配置 第三步:配置远程配置 配置完成之后,点击【ok】按钮。配置完成 服务器配置值 由于,本地配置监听是Tomcat...
  • 之前做远程调试的时候,我只会在代码中输出日志,记录下来做分析处理,但这样做既麻烦又费时,往往还不能准确定位问题,恶心至极。之前做 .NET 开发时用过 Remote Debug 这个功能,想想 Idea 这么牛逼,是不是也有这...
  • 文章目录使用IDEA 远程调试功能,服务器代码远程调试1、同步代码2、使用IDEA 创建remote 服务器3、启动远程连接并设置断点调试 使用IDEA 远程调试功能,服务器代码远程调试 1、同步代码 1、第一步,首先把代码打个...
  • 远程调试代码

    2016-01-06 19:39:18
    1 、调试masterserver端程序 1)把脚本start-master-server.sh里的MASTER_OPTIONS="${MASTER_MEMORY} -verbose:gc -XX:+UseConcMarkSweepGC"修改为MASTER_OPTIONS="${MASTER_MEMORY} -verbose:gc -XX:+...
  • 欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://github.com/jiangxincode ...Java(Eclipse IDE)远程调试Tomcat容器中...
  • pycharm是一个非常强大的python开发工具,现在很多代码最终在线上跑的环境都是linux,而开发环境可能还是windows下开发,这就需要经常在linux上进行调试,或者在linux对代码进行编写,而pycharm提供了非常便捷的方式...
  • pycharm远程调试 代码自动补全失败解决解决办法 解决办法 场景:windows 10 pycharm 访问远程服务器,希望代码自动补全,发现部分代码可以自动补全,但是一些新下载的包是无法自动补全的。 问题发现:我们可以看到...
  • 如何使用Eclipse远程调试服务器代码

    千次阅读 2018-04-11 14:20:24
    如何使用Eclipse远程调试服务器代码 我们为什么需要远程调试,本地调试不就可以了吗? &nbsp;&nbsp;&nbsp;&nbsp;同一份代码,我们本地测试没有问题,但是部署到测试环境之后,android/ios同学...
  • 如何使用 Idea 远程调试 Java 代码

    千次阅读 2018-08-25 13:28:15
    因为整个项目的核心是解析第三方生成的xml文件,所以这些文件都在服务器上,本地是没有这些文件的,所以如果我们想在本地debug,需要申请将文件下载下来,非常的麻烦,所以只能通过在代码中添加log来逐步排查问题,...

空空如也

1 2 3 4 5 ... 20
收藏数 167,994
精华内容 67,197
关键字:

远程调试