我看起來像下面的代碼,它可以正常顯示消息,但無法找到任何方式來獲取堆棧跟蹤。有沒有辦法在Java ME中打印棧跟蹤畫面?
try {
throw new RuntimeException("This is bad stuff!");
} catch (Exception e) {
mainForm.append("Exception: " + e.getMessage());
}
調用e.printStackTrace()將它發送到我找不到的地方。
我看起來像下面的代碼,它可以正常顯示消息,但無法找到任何方式來獲取堆棧跟蹤。有沒有辦法在Java ME中打印棧跟蹤畫面?
try {
throw new RuntimeException("This is bad stuff!");
} catch (Exception e) {
mainForm.append("Exception: " + e.getMessage());
}
調用e.printStackTrace()將它發送到我找不到的地方。
看到這篇文章: http://lwuit.blogspot.com/2008/12/redirecting-output-on-s60-devices.html
太糟糕了,沒有System.setErr(PrintWriter的)或Thread.getStackTrace()
我不認爲有針對此問題(通用)解決方案
不,你不能。堆棧跟蹤始終打印到System.err,並且CLDC無法將System.err重定向到其他位置。
即使在CLDC 1.1中也不存在..希望Sun在未來的版本中包含錯誤和輸出流的重定向。記錄/調試非常重要。
我已經創建了一個可以用來登錄正確的堆棧跟蹤也CLDC的工具。查看http://jarrut.sourceforge.net。它仍然是非常新的,它可能有一些粗糙的邊緣,但它適用於我,我無法想象開發MIDlet沒有了。使用它的最好方法是將其與microlog結合使用。
這真是太棒了!我恰好在使用S60設備,所以這非常完美 – Cory 2008-12-03 14:31:22