我遇到的问题与我之前介绍的问题类似。
这次我想使用用 c/c++ 编写的程序来跟踪 JAVA 程序的执行。因此,正如我之前所说,跟踪 c/c++ 的标准输出打印并注册系统调用 4 的相同代码还没有为 JAVA 完成。我认为这是因为我跟踪的 execlp 仅用于运行 jvm。后来创建了更多我不跟踪的进程(通过jvm的内部机制)。我发现这个话题似乎是部分解决方案。如果我做对了,每个孩子都会被追踪。但这也是一个问题,我只想跟踪处理我的应用程序的进程,而不是 jvm 可能创建的所有其他进程。有没有机会知道哪个 jvm 线程/进程处理我的程序并只跟踪它?
为了让它更容易一点,让我们假设我的 JAVA 程序是单线程的。