Android JNI: как посмотреть сообщения об ошибках от printf, fprintf и perror?

Это может быть простой проблемой, но я не могу найти решение.

Я пытаюсь напечатать сообщения об ошибках, чтобы выяснить ошибки в моем коде C++ в JNI. У меня есть вызовы к printf, fprintf() и perror(), но я не могу найти, где они печатаются.

Я посмотрел внутри adb logcat, и его там нет (что имеет смысл). Я нашел несколько ссылок, которые сказали мне #define LOG... и затем использовали функции LOG, но я бы предпочел придерживаться начальных fprintf и perror.

Можно ли как-нибудь легко просмотреть эти сообщения, пожалуйста?

Большое спасибо!

1 ответ

Решение

По умолчанию 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

Это не сработало для меня по какой-то странной причине. Я решил использовать #define из LOG...

Благодарю.

Другие вопросы по тегам