大家好,我是考100分的小小码 ,祝大家学习进步,加薪顺利呀。今天说一说如何获取Java中的当前堆栈跟踪?,希望您对编程的造诣更进一步.
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情
“如何获取Java中的当前堆栈跟踪?
我如何在Java中获取当前的堆栈跟踪,就像在.NET中可以做到的那样Environment.StackTrace?
我找到了,Thread.dumpStack()但这不是我想要的-我想找回堆栈跟踪信息,而不是打印出来。
高分回答:
您可以使用Thread.currentThread().getStackTrace()。
这将返回一个StackTraceElements数组,该数组代表程序的当前堆栈跟踪。
高分回答:
Thread.currentThread().getStackTrace();
如果您不在乎堆栈的第一个元素,那就很好了。
new Throwable().getStackTrace();
如果重要的话,将为您当前的方法定义位置。
高分回答:
Thread.currentThread().getStackTrace();
从JDK1.5开始可用。
对于较旧的版本,您可以重定向exception.printStackTrace()到StringWriter():
StringWriter sw = new StringWriter();
new Throwable("").printStackTrace(new PrintWriter(sw));
String stackTrace = sw.toString();
文章翻译自 yl2gl72eozkinivz3vc6swkesy-ac4c6men2g7xr2a-translate.translate.goog/questions/1…
作者建议:我在出现内存溢出或者内存泄漏时会关心我的堆栈信息,如果在windows直接可以打开bin文件下的jvisualvm,如果在linux可以通过jmap来看占用最多的堆,jstack查看线程的堆栈信息,也可以使用阿尔萨斯来分析。
真心感谢帅逼靓女们能看到这里,如果这个文章写得还不错,觉得有点东西的话
求点赞👍 求关注❤️ 求分享👥 对8块腹肌的我来说真的 非常有用!!!
如果本篇博客有任何错误,请批评指教,不胜感激 !❤️❤️❤️❤️
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/36678.html