我正在使用jdk1.4所以我必须使用thread.dumpstack()方法来打印调用堆栈,我希望所有转储到文件中,有没有办法做到这一点?
答案 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重定向到启动程序的命令行上的文件。