2013-06-12 1 views
3

Android 용 csipsimple 앱을 일부 변경했으며 기본 코드를 디버깅하고 싶습니다. Ubuntu 12.10에서 ADT 번들 v21.1을 사용하여 (일식 3.7, cdt 8.1) 개발하고 있습니다.Android에서 기본 코드를 디버깅하는 도구는 무엇입니까?

이클립스에서 기본 디버깅을위한 this 튜토리얼을 보았지만 제게 적합하지 않았습니다. (내 질문에 Debugging native code in android under eclipse fails 참조). 이제 추가 행운이없는 ARM DS-5 솔루션을 사용하려고합니다. 나는 또한이 nvidia solution에 왔지만 그만한 가치가 있는지 확신 할 수 없습니다. 세쿼이아 플러그인을 아직 사용해 본적이 없습니다.

아무도 좋은 안정적인 gui 디버깅 도구 나 기기의 Android에서 원시 코드를 디버깅하는 방법을 안내해 줄 수 있습니까? (내 장치는 htc dream 임).

+0

나는 아직도 가장 최근의 안드로이드 SDK에서 Sequoyah를 사용하고 있으며 네이티브 디버깅을 위해 잘 작동합니다. – JonnyBoy

답변

7

아무도이 대답을 좋아하지 않지만 ndk-gdb는 매우 안정적입니다. 그것은 사용하는 고통이 될 수 있지만 일단 그렇게 나쁘지 않을거야.

기본적인 디버깅 방법은 다음과 같습니다

  1. 는 네이티브 라이브러리를로드 라인에 이클립스에서 중단 점을 설정합니다.
  2. Eclipse에서 디버깅 시작
  3. 로드 라이브러리 라인을 단계적으로 건너 뜁니다. 다시 시작하지 마라 !!
  4. 명령 줄에서 ndk-gdb를 시작하십시오.
  5. gdb에서 중단 점을 설정하십시오. 이클립스와

짜잔을 계속

  • 반환을 계속하기위한 'C'를 입력! 당신의 C 브레이크 포인트에 부딪 힐 것이다!

    물론 터미널에 모든 것을 설치해야합니다. 익숙하지 않은 경우 gdb 치트 시트를 인쇄하는 것이 좋습니다.

  • +1

    예! 나는 진심으로 동의한다. 사실, 나는 그것을 cgdb에 연결하는 것이 좋습니다. (차를 마시면 ddd입니다) – DevByStarlight

    2

    Eclipse에서 기본 Android 도구 만 사용하여 오랫동안 (year ++) 기본 코드를 디버깅했습니다.

    도움이 될만한 팁.

    • 은 기본 CPP 파일을 "기본 지원 추가"최초의 네이티브 코드
    • 를 추가하기 전에 기본 응용 프로그램 프로젝트 (안 별도의 라이브러리 프로젝트)
    • 실행중인 자바 응용 프로그램을 만듭니다에서 JNI 내용을 유지 생성 한 다음 이클립스를 닫고 다시 엽니 다 (자동으로 네이티브 측을 빌드하고 시도해야합니다). 네이티브 코드는 적어도 한 번은 성공적으로 빌드해야 모든 것이 행복해집니다. 성공하면 추가 소스를 추가하고 MK 파일을 업데이트하십시오.
    • 터미널은 친구이며 ... ndk-gdb도 있습니다!
    • 네이티브 라이브러리를로드 한 후 (자바)는 '10 걸'... 10 초 지연을 추가 코드를 통해
    • 단계는 천천히
    • 가 감소 네트워크 통신을 유지 할 수 있도록 (디버거를 첨부 할 수 있습니다) 디버거를 혼동하지 않도록 ABI의 숫자가

    재미있게 보내십시오!

    0

    다른 것들은 시도하지 않았기 때문에 최선의 해결책이 될 수는 없지만, 안드로이드 용 Nvidia Debug Manager는 지금까지 사용하기에 꽤 좋았습니다. 그것은에서 얻을 수있는 Tegra 안드로이드 개발 팩이 함께 제공됩니다 : https://developer.nvidia.com/tegra-android-development-pack

    +0

    Tegra가 아닌 장치에서도 작동합니까? – WindRider

    +1

    비 -Tegra 장치에서 작동하지만 장치가 Tegra가 아니지만 아무것도 차단하지 않는다는 경고가 표시 될 수 있습니다. – eozgonul

    +0

    젠장. 이클립스 4.3 필요하고 너무 싫어. – WindRider