`
mocca3in1
  • 浏览: 44181 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用jdb调试时的命令

阅读更多
转载:http://blog.csdn.net/kingquake21/archive/2010/03/11/5369827.aspx
   1. ** 命令列表 ** 
   2. connectors                  - 列出此 VM 中可用的连接器和传送器 
   3.  
   4. run [类 [参数]]             - 开始执行应用程序的主类 
   5.  
   6. threads [线程组]            - 列出线程 
   7. thread <线程 ID>            - 设置默认线程 
   8. suspend [线程 ID]           - 暂停线程(默认为所有线程) 
   9. resume [线程 ID]            - 恢复线程(默认为所有线程) 
  10. 其中 [<线程 ID> | all]      - 转储线程的堆栈 
  11. 其中 [<线程 ID> | all]      - 转储线程的堆栈,以及 pc 信息 
  12. up [n 帧]                   - 向上移动线程的堆栈 
  13. down [n 帧]                 - 向下移动线程的堆栈 
  14. kill <线程 ID> <表达式>     - 中止具有给定的异常对象的线程 
  15. interrupt <线程 ID>         - 中断线程 
  16.  
  17. print <表达式>              - 输出表达式的值 
  18. dump <表达式>               - 输出所有对象信息 
  19. eval <表达式>               - 输出表达式的值(与 print 相同) 
  20. set <lvalue> = <表达式>     - 为字段/变量/数组元素指定新值 
  21. locals                      - 输出当前堆栈帧中的所有局部变量 
  22.  
  23. classes                     - 列出当前已知的类 
  24. class <类 ID>               - 显示已命名的类的详细信息 
  25. methods <类 ID>             - 列出类的方法 
  26. fields <类 ID>              - 列出类的字段 
  27.  
  28. threadgroups                - 列出线程组 
  29. threadgroup <名称>          - 设置当前线程组 
  30.  
  31. stop in <类 ID>.<方法>[(参数类型,...)] 
  32.                             - 在方法中设置断点 
  33. stop at <类 ID>:<行>        - 在行中设置断点 
  34. clear <类 ID>.<方法>[(参数类型,...)] 
  35.                             - 清除方法中的断点 
  36. clear <类 ID>:<行>          - 清除行中的断点 
  37. clear                       - 列出断点 
  38. catch [uncaught|caught|all] <类 ID>|<类模式> 
  39.                             - 出现指定的异常时中断 
  40. ignore [uncaught|caught|all] <类 ID>|<类模式> 
  41.                             -- 对于指定的异常,取消 "catch" 
  42. watch [access|all] <类 ID>.<字段名> 
  43.                             - 监视对字段的访问/修改 
  44. unwatch [access|all] <类 ID>.<字段名> 
  45.                             - 停止监视对字段的访问/修改 
  46. trace methods [线程]        - 跟踪方法输入和退出 
  47. untrace methods [线程]      - 停止跟踪方法输入和退出 
  48. step                        - 执行当前行 
  49. step up                     - 执行到当前方法返回到其调用程序 
  50. stepi                       - 执行当前指令 
  51. next                        - 跳过一行(跨过调用) 
  52. cont                        - 从断点处继续执行 
  53.  
  54. list [line number|method]   - 输出源代码 
  55. use(或 sourcepath) [源文件路径] 
  56.                             - 显示或更改源路径 
  57. exclude [<类模式>, ...| “无”] 
  58.                             - 对于指定的类,不报告步骤或方法事件 
  59. classpath                   - 从目标 VM 输出类路径信息 
  60.  
  61. monitor <命令>              - 每次程序停止时执行命令 
  62. monitor                     - 列出监视器 
  63. unmonitor <监视器号>        - 删除监视器 
  64. read <文件名>               - 读取并执行命令文件 
  65.  
  66. lock <表达式>               - 输出对象的锁信息 
  67. threadlocks [线程 ID]       - 输出线程的锁信息 
  68.  
  69. pop                         - 弹出整个堆栈,且包含当前帧 
  70. reenter                     - 与 pop 相同,但重新输入当前帧 
  71. redefine <类 ID> <类文件名> 
  72.                             - 重新定义类的代码 
  73.  
  74. disablegc <表达式>          - 禁止对象的垃圾收集 
  75. enablegc <表达式>           - 允许对象的垃圾收集 
  76.  
  77. !!                          - 重复执行最后一个命令 
  78. <n> <命令>                  - 将命令重复执行 n 次 
  79. help(或 ?)                - 列出命令 
  80. version                     - 输出版本信息 
  81. exit(或 quit)             - 退出调试器 
  82.  
  83. <类 ID>:带有软件包限定符的完整类名 
  84. <类模式>:带有前导或后缀通配符 (*) 的类名 
  85. <线程 ID>: "threads" 命令中报告的线程号 
  86. <表达式>:Java(TM) 编程语言表达式。 
  87. 支持大多数常见语法。 
  88.  
  89. 可以将启动命令置于 "jdb.ini" 或 ".jdbrc" 之中 
  90. (两者位于 user.home 或 user.dir 中) 
分享到:
评论

相关推荐

    Android So动态调试之反jdb附加的解决大法

    然而,Android系统的安全性机制使得直接使用JDB(Java Debugger)进行远程附加调试变得困难重重。本文将深入探讨如何解决这一问题,以便更有效地进行Android So动态调试。 首先,我们需要理解JDB在Android中的工作...

    JDB调试安卓应用程序测试应用

    要启动JDB调试,你需要先在AndroidManifest.xml中为应用开启调试模式,设置`android:debuggable="true"`。然后通过adb连接到设备,并启动应用: ```shell adb forward tcp:8700 jdwp: ``` 这里的8700是JDB的端口号...

    JDK命令学习 javac java javah jdb

    本文总结了 JDK 中的各种命令,包括 javac、java、javah、jdb 等,详细介绍了 JDB 调试工具的使用方法和命令列表。通过学习这些命令,可以更好地学习和使用 Java 语言。 一、JDK 命令简介 JDK 中提供了许多实用的...

    JDB断点调试

    1. **启动JDB调试器** 要使用JDB,你需要通过命令行启动你的Java应用程序,并附加JDB作为调试器。一般格式如下: ``` jdb -connect com.sun.jdi.CommandLineLaunch:mainClass=&lt;your_main_class&gt;,args= ``` 其中...

    jdb快速参考指南,调试java程序必备

    本指南将详细介绍 jdb 的基本使用方法,帮助开发人员更好地理解和掌握如何使用 jdb 进行 Java 程序的调试。 #### 二、编译 为了能够利用 jdb 进行调试,所有的 Java 代码必须使用 `-g` 标志进行编译,这会使得...

    JDB的使用(java debug工具介绍)

    12. 异常处理:使用 `catch` 命令出现指定的异常时中断,使用 `ignore` 命令对于指定的异常取消中断。 13. 字段监视:使用 `watch` 命令监视对字段的访问/修改,使用 `unwatch` 命令停止监视对字段的访问/修改。 14....

    使用DDD调试Linux软件.pdf

    在使用 DDD 调试程序时,需要编译被调试的程序,包括调试信息。如果要包含调试信息,编译时需要加上 -g 选项。例如,使用以下命令编译程序:gcc -g -o test test.c。 使用 DDD 调试程序可以分为多步骤。首先,需要...

    Java调试教程

    启动JDB调试器时,需要提供要调试的类名,如`jdb hehe`。如果出现找不到类的错误,可能是因为类路径设置不正确,可以通过`java -classpath . hehe`来解决。当JDB成功启动并找到调试的类,可以开始设置断点,例如在`...

    jdb-api:用于在代码中运行Java调试器(JDB)的简单JDB API

    JDB API 用于在代码中运行Java调试器(JDB)的简单JDB API :sparkle: 介绍Java调试器(JDB)是一个简单的命令行调试器。...将命令发送到调试器,如下所示: jdb.send(COMMAND);读取输出,如下所示:

    jdbczuoye.rar

    【标题】"jdbczuoye.rar"可能是一个Java Debug Bridge(JDB)相关的作业或项目压缩包,其中包含了与使用JDB调试Java应用程序相关的资料。JDB是Java Development Kit(JDK)的一部分,它提供了一个命令行工具,允许...

    jdb分析文档.pdf

    本文通过一个具体的案例展示了如何使用 JDB 分析工具来调试 Android 应用中的 Java 代码,尤其是关于移动安全方面的内容。通过对 HTTP 发包行为的分析以及 Android 与 JavaScript 之间的交互机制的研究,可以更深入...

    Android安卓安全加固反调试检测手段(java层+native层)(附代码实现).pdf

    当使用jdb进行动态调试连接时,如果连接成功,`android.os.Debug.isDebuggerConnected()`方法会返回true。为了防止这种情况,可以在反编译工具中搜索`isDebuggerConnected()`关键字,并将其调用处用Nop指令替换。...

    JCreator调试全攻略

    JCreator则通过图形化的方式封装了这些命令,降低了调试的学习难度。 **二、如何用JCreator开始调试** 1. **创建或导入工程**:在JCreator中进行调试前,需要将源代码组织成项目(Project)。如果你只有一个Java...

    java c++ PHP c# 代码快速调试工具

    它支持语法高亮和插件,例如用于调试的插件,如NppExec,可以在Notepad++内部执行编译和调试命令。 在实际开发中,熟练使用这些调试工具能够帮助开发者快速定位问题,理解代码执行流程,从而提高代码质量和开发效率...

    学习调试java源码学习调试java源码

    你可以使用`step into`、`step over`和`step return`命令来逐行执行代码,分别进入方法、执行当前行并跳过子方法,以及执行完当前方法返回上一层。 3. **查看变量和表达式**:在暂停时,IDE会显示当前作用域内的...

    Java小白手册——环境搭建与程序调试.pdf

    * 使用jdb命令调试Java程序,设置断点和追踪变量。 * 了解Java程序的调试过程和常见错误处理方法。 四、Java开发的基本概念 4.1 Java SE和JDK的关系 * Java SE(Standard Edition)是Java的标准版,提供了Java...

    AndroidSo动态调试.zip

    4. **JDB (Java Debugger)**:虽然主要用于Java代码,但在联合GDB调试.so时也会用到,用于设置Java方法的断点。 以下是动态调试的基本步骤: 1. **准备环境**:确保设备已启用USB调试,并在设备上安装所需的调试...

    JVM监控工具介绍jstack_jconsole_jinfo_jmap_jdb_jstat

    jdb工具包含了丰富的命令,帮助您进行调试。jdb工具的功能与Sun Studio中的dbx非常相似,但jdb专门用于Java应用程序的调试。 jstat jstat是一个命令行工具,利用了JVM内建的指令对Java应用程序的资源和性能进行...

    java 2语言命令详解

    当你拥有一个或多个`.class`文件时,使用此命令启动虚拟机执行程序。例如,如果`HelloWorld.class`是已编译的程序,运行命令如下: ``` java HelloWorld ``` 3. **jar**:Java归档工具 `jar` 命令用于创建、...

Global site tag (gtag.js) - Google Analytics