2

我正在使用 jdk1.4 所以我必须使用 thread.dumpstack() 方法来打印调用堆栈,我希望所有转储到文件中,有什么办法吗?

4

3 回答 3

2

如果您需要 Java 解决方案,而不是 Thread.dumpstack(),请执行

PrintStream out = new PrintStream(new FileOutputStream("stacktrace.txt"));
Throwable t = new Throwable();
t.printStackTrace(out);
...
于 2012-10-25T05:48:15.617 回答
2

如果创建Throwable对象,则可以打印堆栈跟踪:

PrintWriter writer = new PrintWriter( new FileWriter( "somefile.txt" ) );
new Throwable().printStackTrace( writer );
writer.close();
于 2012-10-25T05:49:05.093 回答
0

简单——将 stderr 重定向到启动程序的命令行上的文件。

于 2012-10-25T05:47:05.440 回答