首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java jdb远程调试命令行工具

在Java开发中,jdb是Java Debugger的缩写,是Java官方提供的命令行调试工具。它可以帮助开发人员在开发过程中进行远程调试。

jdb的使用需要遵循以下步骤:

  1. 启动jdb服务器:在命令行中输入以下命令启动jdb服务器:jdb -listen [port]其中,port是jdb服务器监听的端口号。
  2. 启动Java程序:在命令行中输入以下命令启动Java程序:java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=[port] [classname]其中,port是jdb服务器监听的端口号,classname是要运行的Java类名。
  3. 连接jdb服务器:在命令行中输入以下命令连接jdb服务器:jdb -connect com.sun.jdi.SocketAttach:hostname=[hostname],port=[port]其中,hostname是jdb服务器所在的主机名或IP地址,port是jdb服务器监听的端口号。
  4. 使用jdb命令进行调试:连接jdb服务器后,可以使用jdb命令进行调试,例如设置断点、查看变量值、单步执行等。

需要注意的是,jdb工具只能在本地调试Java程序,如果需要在远程服务器上进行调试,需要使用SSH隧道将jdb服务器监听的端口映射到本地机器上。

推荐的腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用JDB调试Java程序

图片至此,陷入迷惘中……解决思路: SNAP软件是使用Java开发,GPT工具是一个BASH脚本(类UNIX系统下),这个脚本调用了JAVA实现的功能。那如何进行代码调试找到报错原因呢?...可以使用Java JDK自带的JDB工具命令行中直接对Java程序进行调试JDB的使用和C++ GDB以及Python 的PDG调试类似。...但是还有一个问题:这个程序是Java编译以后的字节码,无法查看Java源码。这个问题可以通过在GitHub下载EAS SANP软件的源码,在调试过程中可以对照源码进行调试。...图片操作实践:我们在命令行通过JDB命令启动Java程序:jdb -Dsnap.mainClass=org.esa.snap.core.gpf.main.GPT -Dsnap.home=/Users/tanzhenyu...调试完成,通过exit或者quit退出JDB调试。图片这里涉及很多JDB命令,我们进入JDB以后,可以通过help命令查询这些命令是干什么用的,不用刻意进行记忆。基本上每个命令的名字大致给出了其作用。

22630

使用JDB调试Java程序

至此,陷入迷惘中…… 解决思路: SNAP软件是使用Java开发,GPT工具是一个BASH脚本(类UNIX系统下),这个脚本调用了JAVA实现的功能。那如何进行代码调试找到报错原因呢?...可以使用Java JDK自带的JDB工具命令行中直接对Java程序进行调试JDB的使用和C++ GDB以及Python 的PDG调试类似。...但是还有一个问题:这个程序是Java编译以后的字节码,无法查看Java源码。 这个问题可以通过在GitHub下载EAS SANP软件的源码,在调试过程中可以对照源码进行调试。...操作实践: 我们在命令行通过JDB命令启动Java程序: jdb -Dsnap.mainClass=org.esa.snap.core.gpf.main.GPT -Dsnap.home=/Users/tanzhenyu...调试完成,通过exit或者quit退出JDB调试。 这里涉及很多JDB命令,我们进入JDB以后,可以通过help命令查询这些命令是干什么用的,不用刻意进行记忆。基本上每个命令的名字大致给出了其作用。

12910

JVM 问题定位工具

JDB JDB 是基于文本和命令行调试工具,Jikes 在 JDB 的基础上提供了 GUI。熟悉 JDB 还是有价值的,很多情况下需要我们在命令行下完成简单的 debug 问题定位。...:jdwp=transport=dt_socket,server=y,suspend=n,address=9000 很多人都知道使用它可以连接上 JVM 进行远程调试,但是并不清楚这些参数的含义都是什么...Sun 虚拟机实现需要指定命令行选项,以加载 JDWP(Java Debug Wire Protocol Transport)代理来 debug。...早些时候 JVM 曾经因为开放这样的 debug 端口,遇到远程扫描,虚拟机发生崩溃,参见 bug 链接。...BTrace Btrace 是一种安全和动态的跟踪分析工具,功能非常强大,可以动态分析 Java 程序是怎么执行的。

29810

高效开发:IntelliJ IDEA天天用,这些Debug技巧你都知道?

二、使用 jdb 命令行调试 相信很多人都听过 gdb,这可以说是调试界的鼻祖,以前在学习 C/C++ 的时候,就是使用它来调试程序的。...和 gdb 一样,jdb 也是一个命令行版的调试器,用于调试 Java 程序。而且 jdb 不需要安装下载,它是 JDK 自带的工具(在 JDK 的 bin 目录中,JRE 中没有)。...每研究一项新技术,我总是会看看有没有命令行版本的工具可以替代,在命令行下进行操作给人一种踏实的感觉,每一个指令,每一个参数,都清清楚楚的摆在那里,这相比较于图形界面的工具,可以学习更深层的知识,而不是把技术细节隐藏在图形界面之后...在真正开始远程调试之前,我们不妨带着这些疑问,来学习 Java 调试器的基本原理。...总结 这篇文章首先介绍了 IDEA 的一些常用调试技巧,然后通过使用 jdb 进行 Java 程序的调试,学习了 jdb 的常用命令,最后通过远程调试引出调试器原理的话题,对 JPDA、JVMTI、JDWP

2.1K11

Java远程调试Remote Debug

前言 一般开发项目时可以直接本地借助IDE工具进行debug调试,但对于线上的项目,则需要借助Java提供的远程debug功能来进行调试。...Eclipse启用远程调试 Eclipse可以作为远程调试的客户端,在debug菜单里打开Debug Configurations......,找到Remote Java Application,右键点击New,然后给这个远程调试填写Name,选择对应需要被调试的项目Project。...Connection Type选择Standard(Socket Attach),Host填写远程调试服务器的地址,Port填写远程调试的端口号。 最后点击Debug即可开始远程调试。...参考链接 java debug suspend_【Java远程debug】 Java远程调试 java -Xdebug各参数说明 请问JVM远程调试的配置中为什么要配置-Djava.compiler=NONE

1.8K10

Intellij Idea远程调试 Java代码

前文介绍过一种在运行时DEBUG及修改Java代码的方式,阿里开源java动态追踪工具 Arthas的使用.其主要针对的是线上修改代码及JVM实时查看....幸好Java是有远程DEBUG的支持的,而且Intellij-IDEA也实现了相关的功能,今天学习并且记录一下....)来运行调试环境; transport:监听Socket端口连接方式,常用的dt_socket表示使用socket连接....server:=y表示当前是调试服务端,=n表示当前是调试客户端; suspend:=n表示启动时不中断. address:=8000表示本地监听5555端口。...添加一个新的启动项,选择Remote,之后在配置信息里面填入你启动的服务端的IP地址及调试端口. 之后点击debug按钮,像本地一样的开始debug吧~.

2.8K40

Java扩展Nginx之四:远程调试

,一起来体验个实用的功能,此能力定会让爱学习的您大呼过瘾,它就是广大java程序员在日常开发和定位问题过程中常用的神技:远程调试; 看变量、看堆栈,不论阅读代码还是定位问题,打断点都是我们最值得信赖的手段...nginx-clojure监听的远程debug端口,当浏览器请求触发了java代码的执行时,就会进入断点状态,停留在断点位置,可以看到堆栈和内存中的变量情况,以及单步执行: 关于工具 本篇使用的编码工具是...'; } 以上就是今天要打断点调试的代码和配置了 nginx-clojure的远程调试配置 打开nginx.conf文件,在http的配置中增加以下两行,即可开启nginx-clojure的远程调试:...8401 如果worker_processes配置的值大于1,例如等于3,此时有3个java进程,每个进程都有一个端口被用于远程调试,这三个端口分别是address=840#{pno}表示远程调试的端口是...此刻,NginxClojureRT.java已经被下载下来,可以更仔细的阅读和研究nginx-clojure了: 至此,nginx-clojure的远程调试功能演示完毕,各位java同僚们,如虎添翼的感觉有没有

63510

idea远程debug配置_debug调试工具

Idea设置远程debug模式,主要有两方面配置: 远程应用(Application)启动参数配置 Idea开发工具参数配置 远程应用参数配置 若应用以jar包方式启动,则需添加如下启动参数:...-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5005 如: nohup java -Xdebug -Xrunjdwp...若应用以war包方式启动,则将启动参数添加到catalina.sh脚本中 Idea工具配置 点击箭头处: 点击+号,选择Remote: 按图示填写,点击Apply,OK即可:...远程应用启动之后,点击debug模式,启动, 看到如下信息就是OK了: 在Idea项目中需要打断点的地方,添加断点,然后向远程应用发起请求,此时就会触发到本地Idea的debug(本地代码需和远程保持一致

1.6K10

Android逆向分析大全

逆向工具得到java源码 dex->jar->java 4.根据特征(字符串、常量、包名类名方法名、manifest文件、布局文件等方式)或调试手段定位到关键代码 5.分析变量含义类型、函数逻辑、模块流程...、procyon 回编译:aapt、dex2jar工具调试器:IDA、jdb、adt等 辅助工具:DDMS 如果是虚拟机可以看到所有进程 APK改之理 整合&提供了全套解压、反编译代码和资源、回编译...jdwp:远程进程ID 把主机端口消息转发手机jdwp进程 用于jdb调试 adb install [apkpath] 安装apk adb uninstall [packagename...点评:这种方式只可以用来分析加密很弱的App,前提是apktool可以成功反编译 image 使用jdb调试 jdb是一个支持java代码级调试工具,它是由java jdk提供的,可以设置断点...使用方式: 启动模式远程调试:gdbserver --debug --remote-debug :23946 /system/test.out [参数] 附加模式远程:gdbserver –

3.2K40

curl命令行工具调试http接口使用小结

无论是微信,支付宝还是银联,都有https接口api, 工作中有时候需要调试下http接口。 如果为了调试个接口就要敲代码的话效率未免太低了。...curl工具就很强大,直接用工具敲一下,就能把http接口给测一下,且可以打印出完整的过程,方便调试。 也许你会用postman,当然postman是一个不错的工具,但是前提是得安装有这个工具吧。...如果用习惯了命令行,curl工具就够简单、强大和好用了。而且还可以把要测试的包报存为文件,方便下次测试或者,执行测试用例。 相比postman工具,这个curl麻雀虽小五脏俱全,没有它不能的。...但是当遇到个紧急的第三方接口对接调试时,还是curl更快和顺手。 举一个之前测试银联https的接口demo,为了安全起见,后台地址用XX表示。...需要提交的二进制数据,我提前准备到aaa.bin文件里了,如果敲在命令行,太费劲了。 UP.pem为本地公钥证书文件。

84220

DWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)异常启动tomcat的web程序时会先弹出javaw.exe「建议收藏

的命令实现机制   JDWP 的事件处理机制   JPDA(Java Platform Debugger Architecture) 是 Java 平台调试体系结构的缩写,通过 JPDA 提供的 API...,开发人员可以方便灵活的搭建 Java 调试应用程序。...JPDA 主要由三个部分组成:Java 虚拟机工具接口(JVMTI),Java 调试线协议(JDWP),以及 Java 调试接口(JDI)   其中常用的开发平台Eclipse中自带了JDWP兼容的调试器...,命令行中常见的有jdb等 问题原因: 该故障是JVM远程debug存在的缺陷,只有在开启远程debug端口时才会出现;原因是由于接收到不符合JDWP协议的数据包,导致JVM崩溃。...或者-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787 若存在相关配置,那就说明java启动了远程调试端口,

34210

GIT命令行工具远程代码执行漏洞分析

这个漏洞将影响Windows平台下GitHub CLI工具中Git凭证管理器核心v2.0.280及其之前所有版本的GIT命令行工具(也被称为gh),而且一旦成功利用,攻击者将能够在供应链攻击中使用该漏洞...问题描述 在此之前,我们曾讨论过GitHub桌面端的远程代码执行问题,但这一次受影响的组件则是Git凭证管理器核心。...在仔细研究之后,我们的安全工程师Vitor Fernandes发现了一个绕过方法,这样就可以利用它来实现远程代码执行了。...在漏洞发现过程中,我们发现在fork一个新的私有存储库时,仍然可能出现远程代码执行场景。...在使用Windows的实用工具where.exe时,它将会返回所有出现的文件或命令,包括%PATH%和当前目录的值。

1K20

Java远程调试(Remote Debugging)的那些事

还有一种场景, 你得到了一个可以部署的war/jar包,只有class没有java源代码,而应用部署在本地/远程后,是否可以调试? 读完本文就明白怎么做了。...配置 远程调试包括两个步骤: 启动Tomcat启用远程调试 用 IDE (这里用IntelliJ IDEA)要能够调试远程Tomcat应用 Tomcat启用远程调试 这里有多种方法可以做到,根据tomcat...JVM 激活远程调试的启动参数有 JPDA_OPTS, CATALINA_OPTS 和 JAVA_OPTS。...最后通过下面的命令行启动tomcat,即可完成tomcat启用远程调试啦。...在 JVM 架构里, debugging 功能在 JVM 本身的内部是找不到的,它是一种抽象到外部工具的方式(也称作调试者 debugger)。这些调试工具或者运行在 JVM 的本地 或者在远程

7.9K20

jdk文件bin目录中各种工具的作用(javacjavapjavajarjstatjvadoc等)

六:jdb:     Java调试器,可以逐行地执行程序、设置断点和检查变量。    ...‘     进入jdb后,输入各种参数进行调试。在此期间会启动 vm(虚拟机)执行这段代码! ?...并可通过远程连接监视远程的服务器VM。用java写的GUI程序,用来监控VM,并可监控远程的VM,非常易用,而且功能非常强。命令行里打 jconsole,选想要监视的 进程就可以了。 ?...)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。...进程ID或core file或远程调试服务的Java堆栈信息,如果是在64位机器上,需要指定选项”-J-d64”。

2.1K20

Debug 实现原理!看完还不懂吗?

这种在Debug工具,许多IDE中都有提供,像Eclipse,DEA,NetBeans,甚至我们可以直接使用JDK自带的jdb工具进行高度。这些工具都支持本地调试远程调试。...那在我们加断点,debug,单步调试等一系列动作背后,是如何实现的呢? 说到这些,就不得不提JPDA(Java Platform Debugger Architecture)。...我们看到,JPDA由三部分组成: JVMTI(Java Virtual Machine Tool Interface) JDWP(Java Debugger Wire Protocol) JDI(Java...每次我们打开IDE调试一个Java应用的时候,或者远程attach一个Java进程的时候,别忘了这个IDE背后的男人---JPDA。...另外,Tomcat启动脚本中也直接包含了debug方式启动的功能,在命令行中输入catalina jpda start, Tomcat就以debug方式启动了。

52020
领券