我可以将thread.dumpstack()输出复制到file

时间:2012-10-25 05:43:38

标签: java

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

3 个答案:

答案 0 :(得分:2)

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

PrintStream out = new PrintStream(new FileOutputStream("stacktrace.txt"));
Throwable t = new Throwable();
t.printStackTrace(out);
...

答案 1 :(得分:2)

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

PrintWriter writer = new PrintWriter( new FileWriter( "somefile.txt" ) );
new Throwable().printStackTrace( writer );
writer.close();

答案 2 :(得分:0)

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