歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

命令行工具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

Copyright © Linux教程網 All Rights Reserved