Java,JavaScript和ABAP經過代碼取得當前代碼的調用棧Callstack

Java

StackTraceElement stack[] = Thread.currentThread().getStackTrace();

System.out.println("Callstack test");

for(int i = 0; i < stack.length; i++){

       System.out.println("Jerry:" + stack[i].getClassName() + ":" + stack[i].getMethodName() + "-----");

}

測試:javascript

JavaScript

function getCallStack() {

   var stack = "Callstack:", fn =arguments.callee;

   while ( (fn = fn.caller) ) {

         stack = stack + "\n" +fn.name;

   }

   return stack;

}

function test1() {

    console.log(getCallStack());

}

function test2() {

    test1();

}

function test3() {

    test2();

}

function test4() {

    test3();

}

test4();

測試:java

ABAP

CALL FUNCTION 'SYSTEM_CALLSTACK'

      IMPORTING

         callstack = lt_callstack.

測試:測試

要獲取更多Jerry的原創技術文章,請關注公衆號"汪子熙"或者掃描下面二維碼:code

相關文章
相關標籤/搜索