如何获取特定运行的方法/函数调用跟踪?

时间:2012-06-11 04:11:40

标签: java javascript profile profiler jprofiler

给定Java或JavaScript程序,在执行后,打印出一系列调用。调用处于调用顺序。 E.g。

main()
{  A();
}

A()
{  B();
   C();
}

然后呼叫追踪应为:

main -> A() -> B() -> C()

是否有任何工具可以分析和输出此类信息?这似乎是调试或性能调整的常见需求。

我注意到有些分析器可以做到这一点,但我更喜欢更简单/易用的分析器。

谢谢!

4 个答案:

答案 0 :(得分:2)

IDE将为您完成工作。例如,eclipse是一个广泛使用的Java编程IDE,如果你使用它,你就可以知道调用的层次结构,从而调用特定的方法。

尝试选择方法,右键单击并选择“打开电话Hieracrhy ”或 Ctrl + Alt + H 。 这不是您可能正在寻找的那种分析器,但可以帮助您了解呼叫层次结构。

答案 1 :(得分:0)

如果要跟踪 JavaScript 中的功能,可以在Webkit浏览器中使用开发人员工具,或Firebug

或者你可以这样做:

function A(){
    debugger;
    B();
    C();
}

注意: Java is not JavaScript.

enter image description here

答案 2 :(得分:0)

在Java推送中:

new Throwable().printStackTrace();

将为您提供电话跟踪。

答案 3 :(得分:0)

查看this问题。它与您正在寻找的类似,“更简单/易于使用”