4

我的代码如下所示,可以很好地显示消息,但无法找出任何方法来获取堆栈跟踪。

try {
    throw new RuntimeException("This is bad stuff!");
} catch (Exception e ) {
    mainForm.append("Exception: " + e.getMessage());
}

调用 e.printStackTrace() 会将它发送到我找不到的地方。

4

4 回答 4

4

看到这篇文章: http: //lwuit.blogspot.com/2008/12/redirecting-output-on-s60-devices.html

太糟糕了,没有 System.setErr(PrintWriter) 或 Thread.getStackTrace()

我认为这个问题没有(通用)解决方案

于 2008-12-02T16:47:14.077 回答
1

不,你不能。堆栈跟踪总是打印到 System.err 并且在 CLDC 中没有办法将 System.err 重定向到其他地方。

于 2008-12-13T11:35:00.880 回答
1

即使在 CLDC 1.1 中也不存在。希望 Sun 在未来的版本中包含错误重定向和输出流。日志记录/调试非常重要。

于 2009-01-31T06:45:18.203 回答
0

我创建了一个工具,可用于在 CLDC 中记录正确的堆栈跟踪。在http://jarrut.sourceforge.net上查看。它仍然很新,可能有一些粗糙的边缘,但它对我有用,我无法想象没有它来开发 MIDlet。使用它的最佳方法是将其与 microlog 结合使用。

于 2010-07-06T14:13:49.880 回答