繁体   English   中英

如何在Java中打印出本机stacktrace?

[英]How to print out native stacktrace in Java?

我想打印Java应用程序的本机方法调用的stacktrace Thread.dumpStack()仅打印java方法调用。

如果您需要非Java堆栈,则需要一个“本机”调试器,例如gdb

您也可以使用gdb附加到正在运行的Java。

有关使用gdb 无缝调试Java的文档,另请参见: http : //gcc.gnu.org/java/gdb.html

(gcc可以将Java代码编译为本机代码;这时本机调试器还将显示Java回溯。)

如果可以在应用程序外部执行此操作,则可以运行$JAVA_HOME/bin/jstack -m <jvm_pid>

要查看内部JVM(C级)函数调用,请将标准C调试器附加到进程。

确切的操作方式取决于您的操作系统和选择的调试器,例如在OSX上,将使用xcode。 可以在此处阅读有关使用gdb的说明。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM