1. JDWP调试
JDWP用于在java程序层面的调试,当然也可以在eclipse中使用,或利用ddms调试
1) 在某一终端运行虚拟机
$ adb forward tcp:8000 tcp:8000
$ adb shell
$ dalvikvm -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=y -cp /sdcard/foo.jar Foo
此时挂起等待调试
2) 在另一终端开启调试
$ jdb -attach localhost:8000
[jdb提示符] run
此时程序继续运行
3) jdb常用命令
[jdb 提示符] threads 看当前所有线程
[jdb 提示符] trace methods 0x12aac5a00 跟踪线程号为0x12aac5a00的线程(线程号从threads得到)
[jdb 提示符] next/step 下一步
[jdb 提示符] 40 next 执行40次next