문제

GL 렌더링을 수행하기 위해 기본 코드를 호출하는 Android 앱을 디버깅하려고합니다. 기본 코드는 내가 포트하려는 기존 코드입니다 (그리고 실제로 잘 모릅니다). 기존 코드를 컴파일, 링크 및 올바르게 설치하는데, Java 코드에서 올바르게 호출되는 해당 코드를 호출하는 기본 기능이 있습니다. 나는 추적하려는 segfault를 얻고 있으며 GDB가 프로그램에서 중단 점을 설정하는 데 문제가 있습니다. 이것은 Cygwin과 함께 Windows XP에 있습니다. 아마도 여전히 GDB를 배우고 있다고 언급해야합니다.

나는 지시로 시작했다 http://honeypod.blogspot.com/2008/01/debug-native-application-for-endroid.html; 내가 현재하고있는 일은 다음과 같습니다.

에뮬레이터에서 앱을 시작하십시오.

CMD 프롬프트에서 :

> adb forward tcp:1234 tcp:1234
> adb shell
# gdbserver localhost:1234 --attach 2120
gdbserver localhost:1234 --attach 2120
Attached; pid = 2120
Listening on port 1234

Cygwin 쉘에서 :

arm-eabi-4.2.1/bin/arm-eabi-gdb.exe out/apps/app-android/libDM.so
GNU gdb 6.6
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "--host=i686-pc-cygwin --target=arm-elf-linux"...
(gdb) target remote localhost:1234
Remote debugging using localhost:1234
warning: shared library handler failed to enable breakpoint
0xafe0da04 in AppRefCounted::unref () at ../../stlport/stl/_iosfwd.h:39
39      class basic_ostream;
Current language:  auto; currently c++
(gdb) b Java_com_app_AppRenderer_onCreate
Breakpoint 1 at 0xafff1b1a: file apps/app-android/../../../app-Android/jni/DMJNI/DMInterface.cpp, line 75.
(gdb) c
Continuing.
Warning:
Cannot insert breakpoint 1.
Error accessing memory address 0xafff1b1a: Input/Output error.

따라서 중단 점이 정상화되는 것처럼 보이고 기호가 정상이지만 중단 점을 삽입하려고 할 때 주소가 잘못되었을 수 있습니다. 위에서 언급 한 웹 페이지에서 다른 명령의 여러 가지 변형을 시도했지만 지금까지는 운이 없습니다.

무슨 일이 일어나고 있는지 아이디어가 있습니까?

감사

도움이 되었습니까?

해결책

본질적으로 NDK 1.6 의이 시점에서 NDK와 엄격하게 디버깅을 지원하지 않는다는 것을 알았습니다. 그러나 PDK (플랫폼 개발 키트)를 사용하는 경우 기본 코드로 이러한 종류의 디버깅을 수행 할 수 있습니다. 지도 파일을 생성하는 것이 우리에게 충분히 잘 작동했기 때문에 PDK를 시도하지 않았습니다 ( 이렇게 질문),하지만 그 길로 가면 확인하십시오. NDK Google 그룹 자세한 사항은.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top