如何在 Java 中打印出本机堆栈跟踪?
How to print out native stacktrace in Java?
我想打印 Java 应用程序的 stacktrace
本机方法调用。 Thread.dumpStack()
仅打印 java 方法调用。
如果可以在您的应用程序之外执行此操作,您可以 运行 $JAVA_HOME/bin/jstack -m <jvm_pid>
要查看内部 JVM(C 级)函数调用,请将标准 C 调试器附加到进程。
具体如何执行此操作取决于您的 OS 和选择的调试器,例如在 OSX 上可以使用 xcode。 gdb的使用说明可以阅读here.
如果你想要非java堆栈,你需要一个"native"调试器,例如gdb
.
您也可以使用 gdb
附加到您的 运行 java。
有关使用 gdb 无缝 调试 Java 的文档,另请参阅:http://gcc.gnu.org/java/gdb.html
(gcc 可以将 java 代码编译为本机代码;此时本机调试器还将显示 Java 回溯。)
我想打印 Java 应用程序的 stacktrace
本机方法调用。 Thread.dumpStack()
仅打印 java 方法调用。
如果可以在您的应用程序之外执行此操作,您可以 运行 $JAVA_HOME/bin/jstack -m <jvm_pid>
要查看内部 JVM(C 级)函数调用,请将标准 C 调试器附加到进程。
具体如何执行此操作取决于您的 OS 和选择的调试器,例如在 OSX 上可以使用 xcode。 gdb的使用说明可以阅读here.
如果你想要非java堆栈,你需要一个"native"调试器,例如gdb
.
您也可以使用 gdb
附加到您的 运行 java。
有关使用 gdb 无缝 调试 Java 的文档,另请参阅:http://gcc.gnu.org/java/gdb.html
(gcc 可以将 java 代码编译为本机代码;此时本机调试器还将显示 Java 回溯。)