linux – 在运行的JBoss进程上无法“strace -p”

linux – 在运行的JBoss进程上无法“strace -p”,第1张

概述我试图使用“strace -p”附加到已经运行的JBoss进程. JBoss正在使用1.5.0_15 Java JDK.不幸的是,这不行 – 我只得到一个单独的futex()结果: # strace -p 3388Process 3388 attached - interrupt to quit[ Process PID=3388 runs in 32 bit mode. ]futex(0x 我试图使用“strace -p”附加到已经运行的JBoss进程. JBoss正在使用1.5.0_15 Java JDK.不幸的是,这不行 – 我只得到一个单独的futex()结果:
# strace -p 3388Process 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 3388Process 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,NulL
解决方法 如果该进程中有多个线程,则需要给出strace多个-p选项,指定每个线程的ID.看起来你是成功跟踪原来的父线程,它什么都不做,只是等待其他一些线程完成.

(当您从strace启动命令时,它起作用的原因是,默认情况下,strace会创建新的子进程,并跟踪它们).

总结

以上是内存溢出为你收集整理的linux – 在运行的JBoss进程上无法“strace -p”全部内容,希望文章能够帮你解决linux – 在运行的JBoss进程上无法“strace -p”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048470.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存