我正在嘗試使用「strace -p」來連接到已運行的JBoss進程。 JBoss使用1.5.0_15 Java JDK。不幸的是,這並不工作 - 我只得到一個futex的()結果:
無法對正在運行的JBoss進程執行「strace -p」
# strace -p 3388
Process 3388 attached - interrupt to quit
[ Process PID=3388 runs in 32 bit mode. ]
futex(0x8f18f7c, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
strace的適用於所有其他程序而不是JBoss的。當我通過strace啓動流程時,它似乎工作正常。當我嘗試附加到已經運行的進程時,它不起作用。
我正在使用64位Linux 2.6.18和32位Java JDK(如果它很重要,請使用RedHat Enterprise Linux 5.3)。
更新#1:
我曾嘗試用「-d」運行它,但產量不出現任何更深入的,至少對我說:
[[email protected]]# strace -d -e verbose=all -p 3388
Process 3388 attached - interrupt to quit
[wait(0x137f) = 3388]
pid 3388 stopped, [SIGSTOP]
[wait(0x57f) = 3388]
pid 3388 stopped, [SIGTRAP]
[ Process PID=3388 runs in 32 bit mode. ]
futex(0x8f18f7c, FUTEX_WAIT_PRIVATE, 1, NULL
屬於超級用戶? – 2010-01-27 23:05:51
@Aidan,我估計它應該是這裏假設curious_george試圖調試一些開發工作。 – 2010-01-27 23:09:19
我從來沒有聽說過超級用戶到現在爲止,但要避免交叉張貼在這裏我要離開這個問題。我推斷大多數J2EE程序員已經在JBoss中使用了strace – 2010-01-27 23:26:43