Mic*_*sky 14 javascript node.js
如何从JavaScript打印堆栈跟踪?
答案如何在抛出异常时获取Javascript堆栈跟踪?处理抛出异常,但我需要打印堆栈跟踪来调试内存泄漏.
基本上我有一个相同的问题,如在Java中获取当前堆栈跟踪,但对于JavaScript.
以及如何在Node.js中打印堆栈跟踪?是类似的,但它是Node.js,我想知道JavaScript,更一般地说,如果它是不同的.
Mic*_*sky 19
这行代码获取堆栈跟踪并打印出来:
console.trace();
Run Code Online (Sandbox Code Playgroud)
资料来源:https://developer.mozilla.org/en-US/docs/Web/API/Console/trace
您可以通过创建错误并打印其stack属性来获取堆栈跟踪。
print(Error().stack);
Run Code Online (Sandbox Code Playgroud)
这不像console.trace()在所有情况下工作,即使console类是不是在你的环境中使用。(当然,如果print不可用,您可以使用console.log或环境中的其他任何功能进行打印)。
文档说可以通过以下方式完成:
const targetObject = {};
Error.captureStackTrace(targetObject);
targetObject.stack; // Similar to `new Error().stack`
Run Code Online (Sandbox Code Playgroud)
此代码片段在 targetObject 上创建一个 .stack 属性,该属性在访问时返回一个字符串,表示代码中Error.captureStackTrace()被调用的位置。
| 归档时间: |
|
| 查看次数: |
7533 次 |
| 最近记录: |