在Java中将呼叫站点映射到线程堆栈

时间:2018-12-16 22:54:41

标签: java multithreading bytecode instrumentation

我正在使用字节码检测在运行时收集调用图。我无法获得线程之间的调用关系,因为每个线程都有自己的堆栈。

foo() {
    new Thread() {
        public void run() {
            bar();
        }
    }.start();
}

如何跟踪启动线程的方法?我的目的是找到:

foo()[上下文主线程]可以到达bar()[上下文另一个线程]

更多上下文:输入时,我的工具将方法压入堆栈,退出后将其从堆栈中弹出。为了处理多线程环境,每个线程将使用一个新的堆栈。

0 个答案:

没有答案