2012-03-22 4 views
4

ARM 용 NDK (Android 네이티브 개발 키트)에는 노인 GDB를 비롯한 gcc 및 GNU utils 툴 체인이 함께 제공됩니다. 그러나 GDB는 VFP 또는 NEON SIMD 확장에 레지스터의 내용을 표시 할 수없는 것 같습니다. 즉 NEON/VFP 명령어를 사용하여 프로그램을 디버깅하는 경우 레지스터의 하위 집합 만 표시됩니다. 나는 GDB의 새로운 버전이이 능력을 얻기 위해 필요하다고 믿는다. 사용중인 하드웨어가 NEON을 지원합니다.Android 용 ARM NEON 디버깅 NDK

더 새로운 gdb가 필요하며 Googles NDK에있는 GDB 출하시이 작업을 수행 할 수 없습니까?

ARM Android 장치에 VFP/NEON 코드를 디버깅하기위한 사전 빌드 된 GDB가 있습니까? 아니면이를 수행 할 수있는 최신 GDB가 포함 된 NDK 도구 체인을 생성하는 절차가 있습니까? (Windows/Linux 64 비트 호스트의 경우)

+1

https://launchpad.net/gdb-linaro에 gdbserver 파일 gdbserver_old

  • 복사 새로운 gdbserver의 이름을 바꿉니다 대안이있는 것처럼 들린다. 또는 자신에게 tegra2 기반 장치를 얻으십시오 :) – zapl

  • +1

    Tegra2에는 NEON이 없습니다. – Sam

    +0

    제 생각에 zapl은 농담이었습니다. @OP : 답을 원한다면 좀더 명확하게 대답하십시오. –

    답변

    2

    출하시 NDK GDB에는 NEON 레지스터가 표시되지 않습니다. ARM 개발자 사이트에있는 link은 DS5 제품군에 포함 된 gdbserver가이 기능을 추가한다는 것을 의미합니다.

    DS-5에 제공된 gdbserver는 GNU의 gdbserver의 최신 버전에 기초 ARM 네온 레지스터 (가능) 및 향상된 안정성

    3

    안드로이드 멀티 스레딩 기능에 대한 액세스를 제공한다 NDK (r8에서 확인)에는 NEON을 지원하지 않는 구식 gdb 및 gdbserver (v6.6)가 함께 제공됩니다. 그것을 사용하려면 사전에 구축 한 구축 중 하나 GDB 소스와 안드로이드 패치에서 구축하거나 얻을 수 있습니다 :

    1. prebuilt gdb 7.4.1 for Android archive
    2. 열기 (NDK)를 다운로드 \ 툴체인 \ 팔-linux- androideabi-4.4.3 미리 만들어진 \ 윈도우 \ \ 빈 디렉토리
    3. 이름 바꾸기 팔 - 리눅스 - androideabi-gdb.exe에 팔 리눅스 androideabi-GDB-OLD.exe
    4. 복사 새로운 GDB. 현재 폴더에 exe.
    5. (NDK) \ toolchains \ arm-linux-androideabi-4.4.3 \ prebuilt 디렉토리를 엽니 다.
    6. 현재 폴더
    관련 문제