2011-10-22 423 views
0

这可能是一个简单的问题,但我无法找到解决方案。Android JNI:如何查看来自printf,fprintf和perror的错误消息?

我试图打印错误消息以找出JNI中C++代码中的错误。我打电话给printf,fprintf()和perror(),但是我找不到他们正在打印的地方。

我看过内部adb logcat,它不在那里(这是有道理的)。我发现有几个链接告诉我#define LOG ...然后使用LOG的函数,但我更愿意坚持使用最初的fprintf和perror。

有没有办法让我以简单的方式看到这些消息?

非常感谢!

回答

0

默认情况下,stdout和stderr会发送到/ dev/null。

我找到了一个解决方法是运行:

adb shell stop 
adb shell setprop log.redirect-stdio true 
adb shell start 

http://developer.android.com/guide/developing/tools/adb.html

这并没有为我工作的一些奇怪的原因。我决定使用LOG的#define ...

谢谢。