Documentation Contents

jdb - Java ????????????

jdb ??????Java ????????????????????????????????????????????????????????????????????????????????????????????????

??????

jdb [ options ] [ class ] [ arguments ] 
options
??????????????????????????????????????????
class
?????????????????????????????????????????????
arguments
class ??? main() ???????????????????????????

??????

Java ???????????? jdb ??????Java ????????????????????????????????????????????????????????????Java Platform Debugger Architecture ??????????????????????????????????????????????????????????????? Java Virtual Machine ?????????????????????????????????????????????????????????

jdb ????????????????????????

jdb ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????jdb ??????????????? Java ??????????????? (VM) ??????????????????????????????????????????????????? java ??????????????? jdb ???????????????????????????????????????????????????????????????????????????????????????????????? MyClass ???????????????JDB ???????????????????????????????????????????????????????????????????????????

 % jdb MyClass 

?????????????????????????????????jdb ???????????????????????????????????????????????? 2 ????????? Java VM ???????????????????????? ?????????????????????????????????????????????????????????????????????????????????????????????????????? VM ????????????????????????

jdb ????????? 1 ??????????????????????????????????????????????????? Java VM ??? jdb ??????????????????????????????jdb ??????????????? VM ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n

???????????????????????????????????????MyClass ??????????????????????????????????????????jdb ?????????????????????????????????????????????????????????????????????????????????

 % java -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n MyClass

????????????????????????????????????jdb ??? VM ????????????????????????

 % jdb -attach 8000 

???????????????jdb ???????????? VM ???????????????????????????????????? VM ???????????????????????????jdb ????????????????????????MyClass???????????????????????????

??????????????? VM ??????????????????????????????????????????????????????????????????????????? jdb ???????????????????????????????????????????????????????????????????????????Java Platform Debugger Architecture ???????????????????????????????????????????????????jdb ???????????????????????? J2SE 1.4.2 ????????? VM ???????????????????????????????????????1.4.2 ???????????????????????????????????????????????????

?????? jdb ????????????

???????????? jdb ???????????????????????????????????????Java ??????????????????????????????????????????????????????????????????????????????????????? jdb ??? help ????????????????????????????????????????????????

help ????????? ?
????????????????????? jdb ???????????? help ?????????????????????????????????????????????????????????????????????????????????????????????
run
jdb ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? VM ?????????????????????????????????????????????????????????????????????????????????????????? jdb ??????????????????????????????????????????????????????
cont
??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
print
Java ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? dump ???????????????????????????????????????????????????

???:????????????????????????????????????????????????????????????????????? javac -g ???????????????????????????????????????????????????????????????????????????

print ??????????????????????????????????????????????????????????????? Java ??????????????????????????????????????? ???????????????????????????

  • print MyClass.myStaticField
  • print myObj.myInstanceField
  • print i + j + k (i???j???????????? k ????????????????????????????????????????????????????????????????????????????????????)
  • print myObj.myMethod() (myMethod ??? null ?????????????????????)
  • print new java.lang.String("Hello").length()
dump
???????????????????????????????????????????????????????????? print ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????static ?????????????????? instance ???????????????????????????????????????

dump ?????????????????????print ??????????????????????????????????????????????????????

threads
?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? ???????????????????????????
4. (java.lang.Thread)0x1 main      running
??????????????????????????????????????????????????? 4 ??????????????????????????? java.lang.Thread ?????????????????????????????? ???????????????????????????main???????????????????????????????????????
thread
???????????????????????????????????????????????????????????????????????? jdb ??????????????????????????????????????????????????????????????????????????????????????????????????????threads ???????????????????????????????????????????????????????????????????????????????????????
where
??????????????????????????? where ???????????????????????????????????????????????????????????????????????????????????? where all ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? where threadindex ????????????????????????????????????????????????????????????????????????

???????????????????????? (??????????????????????????? suspend ????????????????????????) ??????????????????????????????????????????????????????????????? print ??????????????? dump ????????????????????????????????????up ??????????????? down ????????????????????????????????????????????????????????????????????????????????????????????????????????????

????????????????????????

????????????????????????????????????????????????????????????????????????????????? jdb ???????????????????????? ???????????????????????????

  • stop at MyClass:22 (MyClass ??????????????????????????????????????? 22 ????????????????????????????????????????????????????????????)
  • stop in java.lang.String.length (java.lang.String.length ?????????????????????????????????????????????????????????)
  • stop in MyClass.<init> (<init> ??? MyClass ??????????????????????????????)
  • stop in MyClass.<clinit> (<clinit> ??? MyClass ????????????????????????????????????)

??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????MyClass.myMethod(int,java.lang.String)???????????????MyClass.myMethod()????????????????????????

clear ?????????????????????clear MyClass:45?????????????????????????????????????????????????????????????????????????????????clear ????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????cont ??????????????????????????????????????????

??????????????????

step ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????next ????????????????????????????????????????????????????????????????????????????????????

??????

?????????????????????????????????????????????????????????????????????????????? catch ????????????????????????????????????????????????VM ???????????????????????????????????????????????????????????????????????????jdb ??????????????????????????????????????????????????????????????? jdb ????????????????????????????????????jdb ???????????????????????????????????????????????????

??????????????????catch java.io.FileNotFoundException???????????????catch mypackage.BigTroubleException??????????????? catch ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? (????????????????????????) ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????

ignore ???????????????????????????????????? catch ????????????????????????????????????????????????

???:ignore ?????????????????????????????????????????? VM ???????????????????????????????????????????????????????????????????????????

??????????????????????????????

?????????????????? Java ?????????????????????????????????????????????????????? jdb ????????????????????????jdb ??????-D???-classpath???-X<option> ?????????java ??????????????????????????????????????????????????????????????????

jdb ??????????????????????????????????????????????????????????????????

-help
?????????????????????????????????????????????
-sourcepath <dir1:dir2:...>
????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????.????????????????????????
-attach <address>
????????????????????????????????????????????????????????????????????? VM ????????????????????????????????????
-listen <address>
???????????? VM ??????????????????????????????????????????????????????????????????????????????????????????????????????
-listenany
???????????? VM ???????????????????????????????????????????????????????????????????????????????????????????????????????????????
-launch
????????????????????????????????????????????? jdb ??????????????????????????????????????????????????????????????????????????????run ??????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????cont ?????????????????????????????????????????????
-listconnectors
?????? VM ?????????????????????????????????????????????????????????
-connect <connector-name>:<name1>=<value1>,...
???????????????????????????????????????????????????????????????????????????????????? VM ?????????????????????
-dbgtrace [flags]
jdb ??????????????????????????????????????????
-tclient
Java HotSpot(tm) VM (??????????????????) ???????????????????????????????????????????????????
-tserver
Java HotSpot(tm) VM (????????????) ???????????????????????????????????????????????????
-Joption
jdb ??????????????????????????? Java ?????????????????? option ??????????????????(???????????????????????? Java ????????????????????????????????????????????????run ???????????????????????????)??????????????????-J-Xms48m ????????????????????????????????????????????????????????? 48M ?????????????????????????????????

???????????????????????????????????? VM ?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Java Platform Debugger Architecture ???????????????????????????????????????????????????

??????????????????????????????????????????????????????????????????

-v -verbose[:class|gc|jni]
??????????????????????????????
-D<name>=<value>
???????????????????????????????????????????????????
-classpath <directories separated by ":">
?????????????????????????????????????????????????????????????????????
-X<option>
???????????????????????? VM ????????????????????????

????????????

javac???java???javah???javap???javadoc


Copyright © 1995-2010 Sun Microsystems, Inc. All Rights Reserved.

Please send comments using this Feedback page.
Sun Microsystems, Inc.
Java Technology