远程调试_远程调试代码 - CSDN
  • VS2015 远程调试方法

    万次阅读 2017-08-25 16:08:02
    因此采用远程调试。下面介绍启动远程调试的方法。 第一步:拷贝C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger文件夹下x86到虚拟机中。在虚拟机中启动msvsmon.exe,如下图: ...

    在没有安装VS2015的机器上安装发布的程序,运行出现异常,而开发机器上不会出现异常。因此采用远程调试。下面介绍启动远程调试的方法。
    第一步:拷贝C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\Remote Debugger文件夹下x86到虚拟机中。

    这里写图片描述

    在虚拟机中启动msvsmon.exe,如下图:
    这里写图片描述

    设置虚拟机上身份验证模式为无身份验证,即禁用身份验证。
    这里写图片描述

    第二步:关闭防火墙,或者设置允许远程调试。

    第三步:将程序拷贝到虚拟机。执行程序。

    第四步:在主体机器上点击VS2015调试->附加到进程。设置如下图:
    这里写图片描述
    附加测试程序到进程:
    这里写图片描述
    我们现在就可以开始调试了
    这里写图片描述

    参考:
    使用Visual Studio 2015 进行远程调试

    展开全文
  • 远程调试的正确姿势

    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,这样别人再次调用这个接口时能够调通。并且不会影响我们这一次的调试。
    在这里插入图片描述

    展开全文
  • IDEA实现远程调试步骤详解

    万次阅读 2019-10-30 20:27:41
    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)只有本地和远程的代码保持一致才能进行远程调试

     

     
    展开全文
  • 但是,当运行错误的机器上没有调试工具,我们就需要实现远程调试。简单地说,就是要调试的程序和调试器不在一台机器上。 移动端web调试,alert虽然是个土方法,但也是万能的,不过这样会中断程序的执行,效率也...

    remote_debugging

    当运行的程序出现问题时,我们通常通过调试来追踪和定位问题。但是,当运行错误的机器上没有调试工具,我们就需要实现远程调试。简单地说,就是要调试的程序和调试器不在一台机器上。

    移动端web调试,alert虽然是个土方法,但也是万能的,不过这样会中断程序的执行,效率也比较低下。后来大家开始尝试使用模拟器调试,如chrome自带的设备模拟器,可以帮助我们测试网页在不同设备、不同分辨率的情况下的显示情况。其原理就是通过伪装User-Agent将浏览器模拟成相应设备,所以我们也不能太依赖模拟的结果,最终还是得使用真机调试。移动设备上没有调试工具?那你可以尝试一下远程调试,使用你的电脑来调试移动设备上的web页面。其实该类文章在网上也不少,有些介绍较为零散,有些由于软件升级等原因已不适用。本人经实践后,整理如下。

    此处附送电梯:
    1.iOS (web检查器)
    2.Android (Android Chrome)
    3.Weinre
    4.Adobe Edge Inspect CC
    5.MIHTool

    • iOS

    Prepare: iOS6+, Mac, USB数据线
    Setting:
    1. 【iOS终端】设置→ Safari → 高级 → Web 检查器 → 开
    ios-1
    2.【OS X】Safari → 偏好设置 → 高级 → 启用“开发菜单”
    ios-2
    Running:
    1. 使用iOS设备的Safari打开你想要调试的页面
    2. 通过USB数据线连接iOS设备与Mac
    3. 在Mac中启动Safari,从“开发”菜单下找到你的iOS设备
    4. 子菜单项为移动设备上Safari的所有标签页,选择需要调试的页面。
    ios-3
            在这个调试器里,我们可以像使用桌面操作系统的 Safari 的调试器一样,做各种调试工作,譬如HTML 元素、CSS 及盒模型等的查看和即时编辑、JavaScript 调试器、网页元素时间轴、DOM 元素查看器等各种功能。
    ios-4ios-5
    Tips:
    1. 如果在开发菜单中没显示你所连接的iOS设备,或是没有显示你打开的页面,在Mac上重启Safari。
    2. Windows 版本的 Safari 暂无此功能。

    • Andriod

    Prepare:
    1. 一个Android手机或平板电脑与Chrome For Android32或更高版本,或者从GooglePlay上直接安装
    2. 一条USB数据线
        Windows用户还需要安装相应的USB驱动,下载地址:http://developer.android.com/tools/extras/oem-usb.html
    3. 在您的开发机器安装了Chrome32或更高的版本
    Running:
    1. 在您的设备上启用USB调试
        在Android 4.0及4.1,它是在设置>开发人员选项
        在Android 4.2及更高版本中,开发人员选项默认是隐藏的,为了使其可用,进入设置>关于手机,点击版本号7次,返回到前一个页面,就可以找到开发人员选项。android-1
    2. 设置Discover USB Devices
        访问about:inspect,确保选中Discover USB Devices
    android-2
    3. 通过USB数据线连接你的设备和开发机器
        当你的设备连接你的开发机器时,你可能会在你的设备上看到一个弹框请求允许使用这台计算机通过usb调试设备。如果你不想每次调试都看到这弹框,选中一律允许使用这台计算机进行调试并点击确定。
    android-4
            现在,你可以在该页面上看到所有你连接的设备和你打开的标签页。找到你需要调试的页面,点击inpect打开DevTools。你也可以重新加载这个页面,标签页置顶或者关闭它。更可以通过在输入框中键入网址新开一个页面。
    android-5
    4. 调试
    android-7

            例如,查看所选中页面中的元素,在移动设备上的Chrome中这个元素对应的页面结构会立即高亮显示。
            同样,在DevTools的控制台中编写脚本或者执行命令,都会影响移动设备中检查的页面。也可以使用所有其他面板,例如Timeline和Profiles。

    Tips:
    1. DevTools现在对连接的设备支持 native USB debugging。不再需要通过配置ADB或ADB plugin查看移动设备上的Chrome和WebView连接实例。
    2. 如果已启用USB调试,但about:inspect页面并没有显示你的设备
        检查设备上已有开发者选项可用并开启USB调试
        确保你正在使用Chrome for Android 32或更高版本
        检查Discover USB devices是否已被选中。如果有勾选,请拔出设备,并尝试撤消USB authorizations的开发人员选项,并重试。
        如果是Windows用户,检查是否已安装驱动。建议使用第三方软件,如应用宝、豌豆荚等手机助手。
    3. 如果打开DevTools只出现一个空白的页面,你可能需要
        翻墙后再试试
        把开发机器和移动设备上的Chrome都更新到最新版本
    4.调试Android webviews,需要Android4.4或更高版本,更多详情请看https://developer.chrome.com/devtools/docs/remote-debugging#debugging-webviews

    • Weinre

    Weinre的全称是 Web Inspector Remote,功能与Firebug、Web Inspector类似,可用于远程调试运行在移动设备上的Web页面。

    Weinre的通信过程是这样的:
    weinre01

    Weinre 为了能够同步桌面的调试客户端和移动设备上的调试目标,需要你搭建一个调试服务器(Debug Server)。因此,在使用 Weinre 进行远程设备调试时,包含了上面的三种元素:
        调试服务器:调试服务器起到代理的作用,为调试目标和调试客户端建立通信;
        调试客户端:这是 Web Inspector 界面,即开发者在浏览器中进行调试的界面;
        调试目标:需要调试的页面,也指用于运行被调试 Web 内容的的浏览器所在的移动设备。

    平台支持:
    调试服务器支持的平台
        -任何支持node.js的平台
    调试客户端支持的平台(运行调试界面的浏览器)
        -Google Chrome
        -Apple Safari
        -其它基于 WebKit 的浏览器
    调试目标支持的平台(需要调试的页面)
        -Android 浏览器应用
        -iOS Mobile Safari 应用
        -PhoneGap/Cordova
        -其它
    调试目标不支持的平台
        -iOS 3.1.3或更早
        -webOS 1.45或更早

    Install:
    1. 安装Node运行环境
    2.通过Node包管理工具安装weinre
        npm –g install weinre
    Running:
    1. 启动weinre
        Weinre 提供了6个可选的启动参数,其中下面两个参数一般会修改,其它的用默认值就可以了。
        –httpPort 调试服务器运行的端口,默认的 8080,如果这个端口有在用,可以改为其它端口;
        –boundHost 调试服务器绑定的 IP 地址,也可以是域名,默认是 localhost,还可以设置为 -all-,表示绑定到所有当前机器可以访问的接口。
        如本人机器IP地址为192.168.2.1,则在控制台输入weinre –boundHost 192.168.2.1
    2. 目标页面引入js
        <script src="”http://a.b.c.d:8080/target/target-script-min.js#anonymous “></script><br "="">    其中a.b.c.d为调试服务器IP地址
    3. 在Chrome或Safari浏览器中打开http://a.b.c.d:8080/client/#anonymous
    4. 使用你的移动设备访问目标页面
        远程面版中将会显示连接到调试服务器的页面,连接到调试服务器的客户端,还有调试服务器的属性。
    weinre02
            除远程面板以外,还有元素面板,资源面板,网络面板,时间线面板和控制台,这些相信用过Chrome或Safari开发者工具的你应该都不会感到陌生了,我就不在此介绍了。weinre03 weinre04 weinre05 weinre06 weinre07
    Tips:
    1. 移动设备和电脑最好在同一网段,如果不在,需要保证能ping成功。
    2. 网络面板不像chrme浏览器开发者工具那么强大,因为weinre是基于XMLHttpRequest进行监听的,所以只会显示通过XMLHttpRequest加载的网络数据,简单说就是通过ajax加载的页面或图片等。
    3. 经本人亲测,Timeline面板一直没显示出任何数据,具体原因暂未知。
    4. 暂不支持断点调试

    • Adobe Edge Inspect CC

    Adobe公司推出的一个跨PC和各个移动平台的调试工具。
    Prepare:
    1. 将Edge Inspect下载到您的电脑
    adobe01
        在Creative Cloud中安装Edge Inspect CC,需要注册一个Adobe ID
    2.安装扩展程序
    adobe02
    3. 在移动设备上安装App(支持iOS,Android,Kindle Fire)
    adobe03
    4. 安装Bonjour(Windows用户)
        Bonjour安装程序在你的Edge Inspect安装目录下。
        Win32: \Program Files\Adobe\Adobe Edge Inspect\BonjourPSSetup.exe
        Win64: \Program Files (x86)\Adobe\Adobe Edge Inspect\BonjourPSSetup.exe
    Running:
    1. 在电脑打开Edge Inspect程序,所有移动设备打开Edge Inspect App
    2. 通过Bonjour连接设备与电脑,或者手动输入IP地址连接
    adobe04adobe05
    3. 在Edge Inspect 扩展中输入每个移动设备的passcode
    adobe06
    4. 在电脑Chrome浏览器内打开需要调试的网页,此时移动设备Edge Inspect App内将会同步显示电脑浏览器里的内容。
    adobe07
    5. 点击“<>”开始调试
    adobe08
    adobe09
    adobe10

    Tips:
    1. 确保你的电脑和你的设备在同一无线网络内
    2. 基于Apache开源的weinre,不支持断点调试。

    • MIHTool

    MIHTool 是前端工程师在iOS设备上调试和优化页面的得力助手。
    Prepare: iOS设备,MIHTool(在App Store里下载安装),开发机器上已安装Chrome或Safari浏览器
    Running:
    1. 打开MIHTool,在地址栏输入你要调试的网页地址即可。
        iPad版支持内嵌Web Inspector、模拟iPhone、编辑源码、查看当前页面的HAR、显示页面合成渲染层、显示元素的重绘渲染数等功能。
    mihtool01 mihtool02
        iPhone版同样支持远程打开Web inspector调试等多项功能。
    mihtool03

    Tips:
    1. 基于Apache开源的weinre,不支持断点调试。

    展开全文
  • 前端远程调试Front-end development used to be (kind of) easy. You could install a bunch of browsers on a couple of different computers / operating systems, physical or virtual, and use the developer ...
  • 如何远程调试

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

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

    千次阅读 2018-09-07 10:27:27
    在被调试的java程序启动的时候设置虚拟机运行参数 例如  java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=65532 -jar xxx.jar -jar xxx.jar 是要启动的可运行的jar包 如果jar包内的java...
  • 使用Eclipse进行远程调试

    万次阅读 多人点赞 2008-07-05 17:19:00
    今天决定做件有意义的事,写篇图文并茂的blog,为什么要图文并茂?因为很多事可能用语言也说不明白,从以前我发表的一篇文章可以看得出来,... 什么是远程调试,就是在A机器上利用Eclipse单步
  • 将程序发布到自己本机IIS里,我们进行内部测试,难免会出现bug,可以通过vs进行调试。 步骤:“调试”》=“附加到进程”,如下界面: 找到进程名称为w3wp.exe,如果没有显示...Visual Studio 2015 远程调试器(MSVSMON.
  • 文章目录使用IDEA 远程调试功能,服务器代码远程调试1、同步代码2、使用IDEA 创建remote 服务器3、启动远程连接并设置断点调试 使用IDEA 远程调试功能,服务器代码远程调试 1、同步代码 1、第一步,首先把代码打个...
  •  对于自动化设备厂家来说,设备的销售只是第一步,接着就会面临设备远程调试和维护。设备销售到全国各地以及世界各地,在有限的人力情况下, 如何来实现PLC远程调试和维护是一个很大的问题。  plc远程编程...
  • VS.net中的远程调试

    2019-04-30 18:32:55
    我们开发完一个软件后,提交给客户或者放到服务器上执行,如果有问题,我们可以使用远程调试进行发现bug。 这篇文字简单介绍一下远程调试。 vs.net远程调试服务 在vs.net的安装目录下,有个remote debug的目录,这里...
  • Pycharm配置远程调试

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

    万次阅读 2019-02-18 08:36:19
    CLion 是 JetBrains IDE 全家桶产品之一,可以用来开发 C/C++ 项目,而 GDB 则可以用来对 C/C++ 程序进行调试。...)为此,CLion 不仅为程序开发人员提供了图形化的调试界面, 还提供了远程调试的功能。...
  • Pycharm 设置远程调试

    千次阅读 2019-04-18 14:55:41
    本文是将本地的项目同步到服务器,并进行远程调试。与其他的一些文章不同,有的文章是将服务器的项目同步到本地,然后进行远程调试。(其实,就是到达罗马的两条路而已,不必细究   “为什么要使用远程调试呢?”...
  • 项目有时候需要远程调试线上的工程,这时候就需要开启eclipse的远程调试功能,首先需要确定你线上的jetty服务器是否配置了可远程调试的端口。 一、配置jetty服务器远程调试 1、项目中使用了jetty9,启动参数都...
  • 1为什么需要远程调试?其原因比较简单,就是生产的环境比我们平时开发和测试的都要复杂。 2远程调试需要注意的是什么?远程调试的代码和本地需要一致,否则调试的结果不正确。 步骤: 启动项目 项目打包成jar包,...
  • Pycharm远程调试docker containers

    千次阅读 热门讨论 2020-03-25 12:17:17
    现在做深度学习相关的工作,所以不可避免的要使用到GPU.但是GPU在远程服务器,调试真的很晕。... 为了避免再做这么傻的事,要把远程调试的配置记录下来。以后直接用Pycharm调试远程服务器里的docker con...
  • tomcat开启远程调试

    千次阅读 2018-06-15 10:15:05
    今天把项目布到服务器报错了,就想着远程调试一下,结果按照网上说的。在tomcat的bin目录下打开窗口输入catalina.bat jpda start开启远程调试。然后显示8000端口开启,idea中进行相关操作:把localhost改为服务器...
1 2 3 4 5 ... 20
收藏数 163,492
精华内容 65,396
关键字:

远程调试