zoukankan      html  css  js  c++  java
  • 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

    
    function getCallStack() {
    
       var stack = "Callstack:", fn =arguments.callee;
    
       while ( (fn = fn.caller) ) {
    
             stack = stack + "
    " +fn.name;
    
       }
    
       return stack;
    
    }
    
    function test1() {
    
        console.log(getCallStack());
    
    }
    
    function test2() {
    
        test1();
    
    }
    
    function test3() {
    
        test2();
    
    }
    
    function test4() {
    
        test3();
    
    }
    
    test4();
    
    

    测试:

    ABAP

    
    CALL FUNCTION 'SYSTEM_CALLSTACK'
    
          IMPORTING
    
             callstack = lt_callstack.
    
    

    测试:

    要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

  • 相关阅读:
    16解释器模式Interpreter
    15适配器模式Adapter
    14桥接模式Bridge
    13组合模式Composite
    12外观模式Facade
    11代理模式Proxy
    10享元模式Flyweight
    09观察者模式ObServer
    08策略模式Strategy
    07装饰模式Decorator
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/8906420.html
Copyright © 2011-2022 走看看