2013-06-19 2 views
3

이클립스 안드로이드 응용 프로그램 개발에서 log-cat 네이티브 C++ 프로그램의 출력을 어떻게 얻을 수 있습니까?안드로이드 네이티브 코드 디버깅

누군가 나를 도와주세요.

+1

http://stackoverflow.com/questions/10531050/redirect-stdout-to-logcat-in-android-ndk –

+0

checkJNI [More on this] (http://android-developers.blogspot.in)을 활성화 할 수 있습니다. /2011/07/debugging-android-jni-with-checkjni.html) – Nargis

+0

native-C++ 배열 코드의 표준 출력을 log-cat으로 가져 오는 방법이 있습니까? –

답변

5

stdout/stderr 파일 설명자가 Android 앱에서 /dev/null으로 전송됩니다. (자바 등가물, System.outSystem.err는 응용 프로그램 프레임 워크에 의해 로그로 리디렉션됩니다.)

달빅 VM

당신이 log.redirect-stdio 속성을 설정하여 뿌리 장치에서 표준 출력/표준 에러 볼 수 있도록하는 해킹이 포함되어 있습니다. 자세한 내용은 this link을 참조하십시오. 이것은 stdio 파일 디스크립터에서 읽은 스레드를 시작하고 데이터를 로깅 시스템에 복사하여 작동합니다.

새 코드의 경우 Android 로그 호출을 직접 사용하는 것이 훨씬 쉽습니다. 물론 다른 곳에서 라이브러리를 가져 오는 경우에는 조금 더 어렵습니다. 필요한 경우 the code out of Dalvik을 앱에 복사하여 동일한 작업을 수행 할 수 있습니다.

+0

감사합니다. 그게 분명히 일어난다. 그러나 문서가 말하는 이유는 분명하다. "기본적으로 안드로이드 시스템은 stdout과 stderr _ (System.out과 System.err) _ output을/dev/null로 보냅니다." (강조 광산). 참조 : http://developer.android.com/tools/debugging/debugging-log.html#viewingStd –

+1

문서가 잘못되었습니다. https://code.google.com/p/android/issues/detail?id=62555를 제출했습니다. – fadden

+0

고마워요! +1 - 나는 불확실성에 설 수 없습니다 :) –

관련 문제