我正在使用字节码检测在运行时收集调用图。我无法获得线程之间的调用关系,因为每个线程都有自己的堆栈。
foo() {
new Thread() {
public void run() {
bar();
}
}.start();
}
如何跟踪启动线程的方法?我的目的是找到:
foo()[上下文主线程]可以到达bar()[上下文另一个线程]
更多上下文:输入时,我的工具将方法压入堆栈,退出后将其从堆栈中弹出。为了处理多线程环境,每个线程将使用一个新的堆栈。