命令行工具jdb調試Java程序

一直在gdb 下調試c/c++程序。

忽然要寫個java程序,又不是很喜歡使用eclipse,那怎麼調試程序呢。你還能夠使用 jdb。

它是jdk 內置的一個java debug工具。相似與 gdb。不過功能稍弱,但也已經很值得敬佩了。

假如你的java源代碼是 hello.java 文件。那麼你須要編譯的時候加上 -g 選項。這一點和 gdb 一致。怎麼作?

javac -g hello.java

此時會生出一個 hello.class的文件。如今能夠調試了。相似於 java命令同樣,jdb也僅僅須要加上類名(不須要 .class)

jdb hello

加載成功後,咱們一般會在 main函數的位置加上斷點。怎麼作?

stop in hello.main

如何查看被成功加入的斷點?

clear

成功後,運行程序。

run

此時程序暫停到main函數的第一行

咱們能夠源代碼

list

包含等號和大於號的行是當前即將執行的行。僅僅執行當前行,怎麼作?

step

若是要查看某個變量的值好比變量 i的值。怎麼作?

print i

dump i

eval i

若是你認爲這個值是錯的,好比它是1,但是你須要是2。如何修改它?

set i = 2

如何顯示當前堆棧幀中的全部本地變量

locals

想要執行並跨過某個函數。怎麼作?

next

想要一次只執行一個指令。怎麼作?

stepi

這一點和gdb是一致的。

從當前位置直接執行到程序結束(或者下一個斷點或信號)

cont

想要重複執行最後一個命令?

!!

將某個命令重複執行n次?

<n> <命令>

寫出全部幫助

help

?

查看jdb的版本號

version
相關文章
相關標籤/搜索