我正在尝试使用“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