首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏IT当时语_青山师_JAVA技术栈

    java调试命令jdb

    在命令行中可以使用jdb命令来进行类的调试: 类Hello.java如下: class Hello{ public static void main(String[] args){ 输出100/0的结果:"); System.out.println(100/0); } } 在类目录下使用 javac Hello.java 命令编译该类生成字节码文件; 使用 jdb 命令开启调试 使用 run 命令运行java类: D:\java_basic_note>jdb Hello 正在初始化jdb... > run 运行Hello 设置未捕获的java.lang.Throwable

    73010编辑于 2023-05-04
  • 来自专栏给永远比拿愉快

    使用JDB调试Java程序

    可以使用Java JDK自带的JDB工具在命令行中直接对Java程序进行调试,JDB的使用和C++ GDB以及Python 的PDG调试类似。 图片操作实践:我们在命令行通过JDB命令启动Java程序:jdb -Dsnap.mainClass=org.esa.snap.core.gpf.main.GPT -Dsnap.home=/Users/tanzhenyu 42.10, 86.70 41.80, 87.40 41.80))" -Ssource=A2014115074500.L2.h5 -f HDF5 -t A2014115074500.L2.h5图片启动JDB 调试完成,通过exit或者quit退出JDB调试。图片这里涉及很多JDB命令,我们进入JDB以后,可以通过help命令查询这些命令是干什么用的,不用刻意进行记忆。基本上每个命令的名字大致给出了其作用。

    64030编辑于 2023-08-23
  • 来自专栏蓝天

    jdb调试程序

    1) jdb调试正在运行的进程: 先使用jps先确定进程号,然后让jdb连接上目标进程(23549换成实际的进程号): jdb -connect sun.jvm.hotspot.jdi.SAPIDAttachingConnector :pid=23549 接着,可以使用thread N切换线程(使用threads命令可以查看有哪些线程),如:thread 1,然后就可以使用where命令查看调用栈了(jdb中的where相当于 2) jdb调试未运行的程序: 程序代码: hadoop@hadoop-137-143:~/hbase> cat Hello.java public class Hello {     public 开始调试,执行下面命令进入jdbjdb -classpath .

    1.9K20发布于 2018-08-06
  • 来自专栏给永远比拿愉快

    使用JDB调试Java程序

    可以使用Java JDK自带的JDB工具在命令行中直接对Java程序进行调试,JDB的使用和C++ GDB以及Python 的PDG调试类似。 操作实践: 我们在命令行通过JDB命令启动Java程序: jdb -Dsnap.mainClass=org.esa.snap.core.gpf.main.GPT -Dsnap.home=/Users/tanzhenyu 42.10, 86.70 41.80, 87.40 41.80))" -Ssource=A2014115074500.L2.h5 -f HDF5 -t A2014115074500.L2.h5 启动JDB 调试完成,通过exit或者quit退出JDB调试。 这里涉及很多JDB命令,我们进入JDB以后,可以通过help命令查询这些命令是干什么用的,不用刻意进行记忆。基本上每个命令的名字大致给出了其作用。

    60410编辑于 2023-12-01
  • 来自专栏Android逆向

    系统app调试以及jdb调试

    JDB调试Android程序 在App动态调试(1)-Radare2和lldb 中对JDB调试进行了简单的介绍,通过jdb调试来跟踪指定的动态库加载完成。 在调试 Android 应用程序这一场景,Debugger 一般是指你的 develop machine 的某一支持 JDWP 协议的工具例如 Android Studio 或者 JDB,而 Target JDB命令列表 这个除了step、stop,其他的用的不太多,除非要自己开发调试器。 reenter | 与 pop 相同, 但重新进入当前帧 redefine | 重新定义类的代码 disablegc | 禁止对象的垃圾收集 enablegc | 允许对象的垃圾收集 调试程序 使用JDB 和app之间建立联系 jdb -attach localhost:12345 (4)设置断点 stop in com.example.myapplication.MainActivity.onCreate

    3.1K00发布于 2021-01-23
  • 来自专栏数据和云

    案例解读:Oracle目录由于TFA触发bug导致jdb文件未自动清理引起空间不足

    这个案例是客户的一个12c的集群环境,由于TFA的jdb文件无限积累造成大量空间被占用,导致数据库目录使用率比较高。 :18 00001fc0.jdb -rw-r--r-- 1 root root 9999995 1月 13 10:59 00001fc1.jdb -rw-r--r-- 1 root root 9999976 1月 16 23:05 00001fc2.jdb -rw-r--r-- 1 root root 9999983 1月 18 00:31 00001fc3.jdb -rw-r-- r-- 1 root root 899218 1月 18 10:42 00001fc4.jdb 可以看到tfa的BERKELEY_JE_DB目录占用了25G的磁盘空间,累积了大量的000开头.jdb 一般情况下,tfa对该目录下的jdb文件是自动维护的,不会引起持续的积累引起文件目录堆积占用过多的空间,既然出现了问题,直接处理就行了。

    1.7K20发布于 2021-03-26
  • 来自专栏四火的唠叨

    JVM 问题定位工具

    JDB JDB 是基于文本和命令行的调试工具,Jikes 在 JDB 的基础上提供了 GUI。熟悉 JDB 还是有价值的,很多情况下需要我们在命令行下完成简单的 debug 问题定位。 jdb -classpath bin com.xx.Example jdb -connect com.sun.jdi.SocketAttach:hostname=myhost,port=8000 jdb -connect "com.sun.jdi.CommandLineLaunch:main=Hello 1 2 3" 我们可能更熟悉使用下面这样的方式来进行调试,但本质上就是在使用 JDB: -agentlib

    53410编辑于 2022-07-15
  • 来自专栏小强的进阶之路

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

    和 gdb 一样,jdb 也是一个命令行版的调试器,用于调试 Java 程序。而且 jdb 不需要安装下载,它是 JDK 自带的工具(在 JDK 的 bin 目录中,JRE 中没有)。 2.1 jdb 基本命令 在 jdb 中调试 Java 程序如下图所示,直接使用 jdb Test 命令加载程序即可。 ? 2.2 探索 class 文件结构 在 jdb 中调试 Java 程序时,有可能源代码文件和 class 文件不在一起,这个时候需要指定源码位置: # jdb -sourcepath path/to/source 在程序运行起来之后,可以使用 jdb 的 -attach 参数将调试器和被调试程序连接起来: # jdb -attach 5005 # jdb -attach javadebug 在 Windows 平台上 总结 这篇文章首先介绍了 IDEA 的一些常用调试技巧,然后通过使用 jdb 进行 Java 程序的调试,学习了 jdb 的常用命令,最后通过远程调试引出调试器原理的话题,对 JPDA、JVMTI、JDWP

    3.1K11发布于 2020-04-14
  • 查看Java接口调用路径

    可以使用Eclipse或IntelliJ等集成开发环境(IDE)来实现这一点,或者使用Java调试器(如jdb)来手动插入断点。 启动程序的调试模式。 如果使用jdb,可以通过命令行运行“jdb <程序名>”来启动调试模式。 执行程序并触发断点。在调试模式下,程序将暂停在第一个断点处。通过执行程序,可以触发断点并进入调试模式。 在jdb中,可以使用“where”命令来查看当前调用路径。 通过这些步骤,您应该能够查看Java接口的调用路径。请注意,这种方法适用于调试已经运行的程序。

    25010编辑于 2025-08-29
  • 来自专栏老九学堂

    【收藏向】常用Java排错工具单

    jdb 时至今日,jdb也是经常使用的。 jdb可以用来预发debug,假设你预发的java_home是/opt/taobao/java/,远程调试端口是8000, 那么: sudo -u admin /opt/taobao/java/bin /jdb -attach 8000 ➤ CHLSDB CHLSDB感觉很多情况下可以看到更好玩的东西,不详细叙述了。 sudo -u admin /opt/taobao/java/bin/java -classpath /opt/taobao/java/lib 出现以上代表jdb启动成功。 具体参数可见Oracle官方说明:http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html ➤ plugin of intellij

    86910发布于 2020-09-21
  • 来自专栏my notebook

    IDA动态调试so源码 F5伪代码查看

    ,附加上对应的进程之后,设置IDA中的load so的时机,在debug options中设置一下,后面会有实战部分; 5.adb forward tcp:8700 jdwp:进程号;(jdwp是后面jdb 调试器的协议,转换到待调试的指定的应用程序); 6.jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8700(jdb进行附加) 反附加,在这块重要的是说jdb的反附加,很多情况下jdb会附加不上,就是会出现“无法附加到目标的VM”这样的问题那是因为在每个应用程序下,有这个android:debuggable="true"才能调试 打开IDA,设置 4.附加上对应的进程进去之后如图: 5.这一步很重要在Debugger option下面选择这三个选项(让在load so的每个接口处停下来) 6.jdwp协议端口转发 7.jdb 这里只需配置hostname为localhost,其余的保持默认设置即可 6.单击Debugger -> Attach to process进行附加进程 7.jdwp转发(当然打开DDMS就不需要这一步了)jdb

    4K02发布于 2020-12-23
  • 来自专栏程序员奇点

    Java常用问题排查工具

    区容量和使用量 OC、OU:年老代容量和使用量 PC、PU:永久代容量和使用量 YGC、YGT:年轻代GC次数和GC耗时 FGC、FGCT:Full GC次数和Full GC耗时 GCT:GC总耗时 调试工具 jdb 远程调试端口是8000 jdb -attach 8000 JVM 参数配置 应用宕了,生成dump -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath

    78420发布于 2019-08-13
  • 来自专栏微信公众号【Java技术江湖】

    Java问题排查工具清单

    jdb 时至今日,jdb也是经常使用的。 jdb可以用来预发debug,假设你预发的java_home是/opt/taobao/java/,远程调试端口是8000.那么 sudo -u admin /opt/taobao/java/bin/jdb 出现以上代表jdb启动成功。后续可以进行设置断点进行调试。 具体参数可见oracle官方说明http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html CHLSDB CHLSDB感觉很多情况下可以看到更好玩的东西

    53740发布于 2019-09-24
  • 来自专栏Linyb极客之路

    一份超详细的Java问题排查工具单

    jdb 时至今日,jdb也是经常使用的。 jdb可以用来预发debug,假设你预发的java_home是/opt/taobao/java/,远程调试端口是8000.那么 sudo -u admin /opt/taobao/java/bin/jdb 出现以上代表jdb启动成功。后续可以进行设置断点进行调试。 具体参数可见oracle官方说明http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html CHLSDB CHLSDB感觉很多情况下可以看到更好玩的东西

    57720发布于 2018-11-23
  • 来自专栏小码农漫漫积累路

    前端-CSS-初探-注释-语法结构-引入方式-选择器-选择器优先级-01(待完善)

    某个属性名及属性值 具有某个属性名及属性值某个标签 /*[hobby]找只要包含某个属性名的标签*/ [hobby]{ background-color: red; } [hobby="jdb "]{ color="jdb"; } /*找具有属性名是hobby 并且值是 jdb的 input标签*/ input[hobby="jdb"]{ color: red; } /*

    69340发布于 2019-09-26
  • 来自专栏全栈程序员必看

    java编译命令是什么_Java编译命令整理

    language compiler,Java编译器,类似gcc java – the Java Application Launcher,Java程序加载器,类似操作系统的进程加载器(Loader) jdb 需要调试可以参考jdb

    1.6K40编辑于 2022-09-06
  • 来自专栏芋道源码1024

    一份超详细的 Java 问题排查工具单

    screenshot.png jdb 时至今日,jdb也是经常使用的。 jdb可以用来预发debug,假设你预发的java_home是/opt/taobao/java/,远程调试端口是8000.那么 sudo -u admin /opt/taobao/java/bin/jdb screenshot.png 出现以上代表jdb启动成功。后续可以进行设置断点进行调试。 具体参数可见oracle官方说明http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html CHLSDB CHLSDB感觉很多情况下可以看到更好玩的东西

    64820发布于 2019-10-29
  • 来自专栏my notebook

    Android逆向分析大全

    调试步骤: 1.Apk(debuggable)或系统(ro.debuggable=1)设置为可调试 2.在虚拟机中启动服务端(adbd/android_server) 3.在主机端连接客户端调试器(IDA/jdb 工具集、jd-core(JD-GUI,JD-Eclipse反编译核心)、fernflower(Android Studio反编 、procyon 回编译:aapt、dex2jar工具集 调试器:IDA、jdb 调试 jdb是一个支持java代码级调试的工具,它是由java jdk提供的,可以设置断点、查看堆栈、计算表达式、动态修改类字节码、调试&跟踪、修改变量值、线程操作,断点包括:(源码)行断点、符号断点、 就会导致app运行起来,此时如果想断在初始化这部分就没有办法了,不过jdb提供初始命令脚本 暂停所有线程: echo suspend > jdb.ini 执行调试:jdb -connect com.sun.jdi.SocketAttach Set up JDB connection, using jdb command: C:\Program Files\Java\jdk1.8.0_66\bin\jdb.exe ## COMMAND: adb_cmd

    4.3K42发布于 2020-12-22
  • 来自专栏why技术

    妙啊,这份问题排查工具清单!

    jdb 时至今日,jdb也是经常使用的。 jdb可以用来预发debug,假设你预发的java_home是/opt/taobao/java/,远程调试端口是8000.那么 sudo -u admin /opt/taobao/java/bin/jdb 出现以上代表jdb启动成功。后续可以进行设置断点进行调试。 具体参数可见oracle官方说明: http://docs.oracle.com/javase/7/docs/technotes/tools/windows/jdb.html plugin of intellij

    68930发布于 2021-07-15
  • 来自专栏cayzlh

    Linux排查Java问题工具单

    jstat jstat参数众多,但是使用一个就够了 sudo -u admin /opt/install/ajdk-8_1_1_fp1-b52/bin/jstat \ -gcutil 2815 1000 jdb jdb可以用来预发debug,假设你预发的java_home是/opt/taobao/java/,远程调试端口是8000,那么: sudo -u admin /opt/java/bin/jdb -attach

    61510编辑于 2022-03-01
领券