TS有函数堆栈回溯相关的语法吗?

比如A函数调用B函数,我想知道B函数由谁调用,这种回溯有办法知道吗

获取堆栈

1.在b函数中调用console.trace()
2.在b函数中调用debugger;
3.在chrome调试中,在相应代码行打断点
4.???

http://www.wazhlh.com/content/uploadfile/201808/b4311533927081.png

你是需要这个?

大神 这个是怎么做的

去github找一个souremap support,然后new一个error就有堆栈了

public static isTrace:boolean=false;

public static Log(message?: any, ...optionalParams: any[])
{
    if(this.isTrace)
    {
        console.groupCollapsed(message);
        console.trace(message,optionalParams);
        console.groupEnd();
    }
    else
    {
        console.log(message,optionalParams)
    }
}

console.trace(message);才是重点。
这两句
console.groupCollapsed(message);
console.groupEnd();
只是给那个堆栈折叠起来。可以看到这个方法都是经过哪里到哪里调用的

function fromA() {
  c();
}
function fromB() {
  c();
}
function c() {
  let f = c;
  let path = [c.name];
  while (f.caller) {
    path.unshift(f.caller.name);
    f = f.caller;
  }
  path.unshift('global');
  console.log("调用链:", path.join("->"));
}
function secondary() {
  fromA();
}
fromA(); // 调用链: global->fromA->c
fromB(); // 调用链: global->fromB->c
secondary(); // 调用链: global->secondary->fromA->c