어떻게 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 모듈 을 사용 할 수 있 습 니 다. 전원 전체 모듈 로 스 택 을 추적 할 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.