我想跟踪java进程的执行情况。 为此,我使用strace来分析它。
我写了两个基本程序。
Prog1:简单的你好世界
Prog2:使用大量Sysout进行素数计算。通过很多我真的意味着很多!!
我正在使用strace:strace java classfile
程序都正常工作。但是,当我比较他们的线索时,他们的输出是相同的,即系统调用及其顺序。
我的疑问是:
答案 0 :(得分:1)
默认情况下,程序 strace 不会跟踪子进程。但是,Java VM在流程的早期创建了实际工作的子进程。这就是为什么两个不同的程序在用 strace 调用时产生相同结果的原因。
要跟踪子进程,请使用选项-f
到 strace ,即:
strace -f java Hello