无法“strace -p”在正在运行的 JBoss 进程上
我正在尝试使用“strace -p”附加到已经运行的 JBoss 进程。 JBoss 使用的是 1.5.0_15 Java JDK。不幸的是,这不起作用 - 我只得到一个 futex() 结果:
# 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”运行它,但输出似乎并没有更具洞察力,至少对我来说:
[root@]# 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
I am trying to use "strace -p" to attach to an already running JBoss process. JBoss is using the 1.5.0_15 Java JDK. Unfortunately, this doesn't work - I only get a single futex() result:
# 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 works for all other programs but not JBoss. It appears to work fine when I launch the process through strace. It just doesn't work when I try to attach to an already running process.
I'm using 64-bit Linux 2.6.18 with a 32 bit Java JDK (RedHat Enterprise Linux 5.3 if it matters).
Update #1:
I did try running it with "-d", but the output doesn't appear to be any more insightful, at least to me:
[root@]# 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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(3)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
也许你可以尝试这个:
Maybe you can try this: