어떻게 Node. js 에서 스 택 추적 을 인쇄 합 니까?

Node. js 에서 스 택 추적 을 인쇄 하 는 방법?
Node. js 에서 스 택 추적 을 인쇄 하 는 방법 을 아 는 사람 이 있 습 니까?
\ # 1 층
참고:https://stackoom.com/question/CGd0/어떻게 Node - js 에서 스 택 추적 을 인쇄 합 니까?
2 층
언제든지 사용 할 수 있 는 Node 모듈 을 통 해 Node 에서 전체 스 택 추적 을 얻 을 수 있 습 니 다 (성능 손실 이 적 음 에 도 불구 하고): http: / www. mattinsler. com / post / 26396305882 / announcing - longjohn - long - stack - traces 교환 노드 - JS
3 층
Any Error object has a stack member that traps the point at which it was constructed. 모든 Error 대상 은 하나의 stack 구성원 이 있 으 며, 이 를 구성 하 는 점 을 포착 하 는 데 사용 된다.
var stack = new Error().stack
console.log( stack )

or more simply: 또는 더 간단하게 말 하면:
console.trace("Here I am!")

4 층
To print stacktrace of Error in console in more readable way: 더 읽 기 쉬 운 방식 으로 콘 솔 에 인쇄 Error 스 택 추적:
console.log(ex, ex.stack.split("
"));

예제 결과: 예제 결과:
[Error] [ 'Error',
  '    at repl:1:7',
  '    at REPLServer.self.eval (repl.js:110:21)',
  '    at Interface. (repl.js:239:12)',
  '    at Interface.EventEmitter.emit (events.js:95:17)',
  '    at Interface._onLine (readline.js:202:10)',
  '    at Interface._line (readline.js:531:8)',
  '    at Interface._ttyWrite (readline.js:760:14)',
  '    at ReadStream.onkeypress (readline.js:99:10)',
  '    at ReadStream.EventEmitter.emit (events.js:98:17)',
  '    at emitKey (readline.js:1095:12)' ]

5 층
As already answered, you can simply use the trace command: 앞에서 말 한 바 와 같이 trace 명령 만 사용 하 십시오.
console.trace("I am here");

However, if you came to this question searching about how to log the stack trace of an exception, you can simply log the Exception object. 단, 이상 한 스 택 추적 을 기록 하 는 방법 에 관 한 문 제 를 검색 할 때 Exception 대상 만 기록 할 수 있 습 니 다.
try {  
  // if something unexpected
  throw new Error("Something unexpected has occurred.");     

} catch (e) {
  console.error(e);
}

It will log: 기록 합 니 다:
Error: Something unexpected has 가 발생 했 습 니 다. 오류: 의외 의 상황 이 발생 했 습 니 다.at main (c: \ \ \ \ Users \ \ \ Me \ \ Documents \ \ \ \ MyApp \ \ \ \ app. js: 9: 15) 은 main (c: \ \ \ \ Users \ \ \ \ Me \ \ Documents \ \ \ MyApp \ \ \ \ app. js: 9: 15) at Object 에 있 습 니 다. 대상 에 있 습 니 다.(c: \ \ \ \ \ \ Users \ \ \ Me \ \ \ Documents \ \ \ \ MyApp \ \ \ \ \ \ app. js: 17: 1) (C: \ \ \ \ \ 사용자 \ \ \ \ 나 \ \ \ 파일 \ \ MyApp 의 \ \ \ app. js: 17: 1) at Modle.copile (module. js: 460: 26) 은 Module.compile(module.js:460:26) at Object.Module._extensions. js (module. js: 478: 10) 는 Object. Module.extensions. js (module. js: 478: 10) at Module. load (module. js: 355: 32) 에서 Module. load (module. js: 355: 32) at Function. Module.load (module. js: 30: 12) Function. Module.load (module. js: 310: 12) at Function. Module. runMain (module. js: 501: 10) 은 Function. Module. runMain (module. js: 501: 10) at startup (node. js: 129: 16) 이 시 작 될 때 (node. js: 129: 16) at node. js: 814: 3 node. js: 814: 3
If your Node. js version is < than 6.0.0, logging the Exception object will not be enough. Node. js 버 전이 6.0.0 보다 작 으 면 Exception 대상 을 기록 하 는 것 이 부족 합 니 다.In this case, it will print only: 이 경우 인쇄 만 합 니 다.
[Error: Something unexpected has occurred.] [오류: 의외 의 사건 이 발생 했 습 니 다.]
For Node version < 6, use console.error(e.stack) instead of console.error(e) to print the error message plus the full stack, like the current Node version does.
참고: if the exception is created as a string like console.error(e.stack), it 's not possible to retrieve the stack trace and logging console.error(e) yields undefined. 주의: 유사 한 문자열 로 이상 을 만 들 면 스 택 추적 및 기록 throw "myException" 을 검색 할 수 없습니다.
To be safe, you can use 안전 을 위해 사용 할 수 있 습 니 다.
console.error(e.stack || e);

and it will work for old and new Node. js versions. 이것 은 신 구 Node. js 버 전에 적 용 됩 니 다.
6 층
node - stack - trace 모듈 을 사용 할 수 있 습 니 다. 전원 전체 모듈 로 스 택 을 추적 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기