程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA綜合教程 >> jdb,加多寶

jdb,加多寶

編輯:JAVA綜合教程

jdb,加多寶


  jdb 是一個簡單的命令行調試器,可以調試本地或遠程 Java Virtual Machine。

jdb [ options ] [ class ] [ arguments ]
options 命令行參數
class  調試的類名稱
arguments main函數的參數
1. 開始調試
  有兩種方式啟動調試,一個是新啟動一個 JVM 加載指定的類,然後在開始執行指令時停止;另一個是連接到一個正在運行的 JVM。具體方法如下。
(1) C:\> jdb MyClass
(2) C:\> java -agentlib:jdwp=transport=dt_shmem,address=jdbconn,server=y,suspend=n MyClass  C:\> jdb -attach jdbconn
2. jdb 基本操作命令
help, or ?  顯示幫助信息
run [class [args]]    執行 main 方法
threads 列出正在運行的線程
thread <thread id>  設置默認線程
where   轉儲線程堆棧

print  顯示Java對象(簡短描述)或原始數據類型值,若要顯示本地變量在編譯時需添加 -g 參數
  print 支持簡單的Java表達式,如下:
    print MyClass.myStaticField
    print myObj.myInstanceField
    print i + j + k (i, j, k are primities and either fields or local variables)
    print myObj.myMethod() (if myMethod returns a non-null)
    print new java.lang.String("Hello").length()
dump    原始類型打印值,對象打印每個字段(靜態和實例)的當前值,同print也支持表達式
locals 輸出當前棧幀本地變量

classes 列出當前已知的類
class <class id>    顯示類詳細信息
methods <class id>  列出類方法
fields <class id>   列出類字段

stop in <class id>.<method>[(argument_type,...)]  在方法中設置斷點
stop at <class id>:<line> 在某一行設置斷點
  stop at MyClass:22 (在 MyClass 第22行設置斷點)
  stop in java.lang.String.length (在String.length方法設置斷點)
  stop in MyClass.<init>   (MyClass 構造函數)
  stop in MyClass.<clinit> (MyClass 靜態塊初始化方法)
clear <class id>.<method>[(argument_type,...)]  清除一個方法的斷點
clear <class id>:<line>   清除某一行斷點
clear                     列出所有斷點
 
step  執行到下一行
next  執行當前棧幀下一行
cont   從斷點處繼續執行
exit 退出
3. 命令行選項
# jdb 也識別許多java命令選項,如-D,-classpath,-X<option>(非標准 VM 選項)
-help  顯示幫助信息
-sourcepath <dir1:dir2:...>  在指定路徑下搜索源文件,默認在當前目錄下
-connect <connector-name>:<name1>=<value1>,...  附帶參數連接到目標 JVM
-tclient  Java HotSpot™ VM (Client)
-tserver  Java HotSpot™ VM (Server)
-Joption  將選項傳遞給JVM,以運行jdb,如-J-Xms48m 設置堆大小
4. 調試 Hello World

更多信息,請參考:jdb

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved