📜 ⬆️ ⬇️

Debugging Android CMake project in an adult


After transferring our projects to CMake, the question arose of debugging the native part of Android. Since the NDK tools have become irrelevant, I had to get into the wilds and teach Eclipse to start remote debugging of a CDT project, which is called, manually. Ideally, this should be done in one click.

If you are no stranger to development using Android NDK, and you want to know some of the subtleties of debugging, well, under the cat.

In one of our studios, it was decided to transfer the cross-platform projects to CMake, which allowed them to speed up their development, but also made adjustments in some stages. CMake completely replaced the ndk-build build system, and the ndk-stack "debugging tools", ndk-gdb became inaccessible. Having meditated on Eclipse and CDT in particular, it appeared that the debugging of the native CMake code of the Android project can be made convenient, fast and accessible.

CMake Android project


In this article, we will look at our task on a slightly smaller scale - using the example of Teapot from the Android NDK. Its build was translated from ndk-build scripts to CMake. It is necessary to clarify that CMake is not sharpened completely under Android, like under any other platform. Additional functionality needs to be written most, as it was made in this case, therefore do not be surprised if you see some variable or function about which not a word in the CMake documentation . Most of the time I will try to describe, but I can miss something, so if you decide to learn from experience, you will have to go into the scripts used and at least understand their work in order not to get into a puddle when the new version of NDK comes out.
')
Demo project is here .

To successfully build and configure the debugger, you will need:


After downloading the demo project, run cmake.cmd/sh , and then import the projects from the build/android_debug and sources/Teapot folders into Eclipse.
For the TeapotNativeActivity project, TeapotNativeActivity can add a reference to the TeapotNativeActivity-Debug@android_debug so that reassembly occurs automatically.

As a result, you should have this workspace:



Some theory


Debugging the native code of an Android application involves several steps:

  1. Building native libraries with debugging symbols (so that the debugger can link the source code and the compiled code).
  2. Creating truncated versions of libraries without debugging symbols, but with reference to them.
  3. Building and installing an APK on a device with trimmed versions of libraries.
  4. Run APK.
  5. Search for process ID (PID) of the running APK.
  6. Run a remote debugger on the device with a PID. The debugger opens a TCP port on the device, where you can send gdb commands.
  7. Forwarding TCP port from device to local computer.
  8. Loading from the device system files necessary for the debugger to work correctly (setting the correct addresses and offsets).
  9. Run the debugger on the local computer with an indication of the local TCP port and configuration of the paths to search for libraries and sources.

In Eclipse, all this is divided into several basic steps:

  1. Building native code
  2. Build APK.
  3. Run APK.
  4. Running a helper script to configure the debugger locally and remotely.
  5. Run the native code debugger.

Our task is to combine it all in one click.

Challenge accepted


Build .so

Building debugging versions of libraries is not difficult (CMake does everything for us), however, the nuance is waiting for compatibility of debugging information formats. We use gcc-4.8 arm tulchein to build our projects, which for some reason uses gdb, which is not compatible out of the box with the generated dwarf format. To find a common language, the compiler needs to specify a specific dwarf format.

To do this, write the flags in CMake:

 if (PLATFORM_ANDROID)
   set (CMAKE_CXX_FLAGS "$ {CMAKE_CXX_FLAGS} -gdwarf-2")
   set (CMAKE_C_FLAGS "$ {CMAKE_C_FLAGS} -gdwarf-2")
 endif ()


Placing debug information in a separate file

The size of the library with debugging data can reach several hundred megabytes, which negatively affects the size of the APK and, as a result, the download speed of the device. To solve this problem, we strip the debug information into a separate file:

 # Separate debug information and runnable binary
 add_custom_command (TARGET $ {target} POST_BUILD
	 # Rename .so file to .so.debug file
	 COMMAND $ {CMAKE_COMMAND} -E rename $ <TARGET_FILE: $ {target}> $ <TARGET_FILE: $ {target}>. Debug
	 # Strip .so.debug file to runnable part and put it into .so file
	 COMMAND $ {CMAKE_STRIP} --strip-debug --strip-unneeded $ <TARGET_FILE: $ {target}>. Debug -o $ <TARGET_FILE: $ {target}>
	 # Add link to debuggable .so.debug file to .so file
	 COMMAND $ {CMAKE_OBJCOPY} --add-gnu-debuglink = $ <TARGET_FILE: $ {target}>. Debug $ <TARGET_FILE: $ {target}>)

After assembly, the full version of .so renamed to .so.debug , and on its basis a .so is created with the debugging information removed and a link to the .so.debug file.
This code is in the set_ndk_gdbserver_compatible(target) function in the CMake/auto_included/android_helpers.cmake . In addition to performing the strip after assembly, it also performs other important steps, which are described below.

Remote debugger aka gdbserver

The gdbserver remote debugger is not gdbserver on the gdbserver by default, but comes with the Android NDK in the <android-ndk>/prebuilt/android-arm/gdbserver . In order to put it on the device, a small trick is used: gdbserver copied to the <android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !
<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !
<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !
<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !
  1. <android_project>/libs/ Android- /data/<package_name>/lib .

    gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

    gdbserver .

    ndk-gdb.py
    ndk-gdb.py Android NDK.

    :

    android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
    CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

    Eclipse ndk-gdb.py
    , , -.

    External Tool :


    , :


    C++ Remote Application
    Eclipse CDT , : C++ Remote Application .

    :


    - app_process , . app_process - Android, Java-.

    - gdb.setup , .

    CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

    Eclipse
    :


    :


    Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

    -!
    Eclipse, , :

    APK ndk-gdb.py
    , ?

    Launch Group to the rescue!
    , Eclipse CDT Eclipse, Launch Group.

    :

    APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




    Common Eclipse:


    Debug me
    , :





    - ?
    , . , , Android.
    - APK, .so, , . Launch Group.
    , .

    ndk-gdb.py
    , , Linux x86, Mac OS X x64 Windows x64. , .


    Android CMake-, . , : , Eclipse , / .

    / , !
  2. <android_project>/libs/ Android- /data/<package_name>/lib .

    gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

    gdbserver .

    ndk-gdb.py
    ndk-gdb.py Android NDK.

    :

    android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
    CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

    Eclipse ndk-gdb.py
    , , -.

    External Tool :


    , :


    C++ Remote Application
    Eclipse CDT , : C++ Remote Application .

    :


    - app_process , . app_process - Android, Java-.

    - gdb.setup , .

    CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

    Eclipse
    :


    :


    Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

    -!
    Eclipse, , :

    APK ndk-gdb.py
    , ?

    Launch Group to the rescue!
    , Eclipse CDT Eclipse, Launch Group.

    :

    APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




    Common Eclipse:


    Debug me
    , :





    - ?
    , . , , Android.
    - APK, .so, , . Launch Group.
    , .

    ndk-gdb.py
    , , Linux x86, Mac OS X x64 Windows x64. , .


    Android CMake-, . , : , Eclipse , / .

    / , !
  3. <android_project>/libs/ Android- /data/<package_name>/lib .

    gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

    gdbserver .

    ndk-gdb.py
    ndk-gdb.py Android NDK.

    :

    android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
    CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

    Eclipse ndk-gdb.py
    , , -.

    External Tool :


    , :


    C++ Remote Application
    Eclipse CDT , : C++ Remote Application .

    :


    - app_process , . app_process - Android, Java-.

    - gdb.setup , .

    CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

    Eclipse
    :


    :


    Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

    -!
    Eclipse, , :

    APK ndk-gdb.py
    , ?

    Launch Group to the rescue!
    , Eclipse CDT Eclipse, Launch Group.

    :

    APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




    Common Eclipse:


    Debug me
    , :





    - ?
    , . , , Android.
    - APK, .so, , . Launch Group.
    , .

    ndk-gdb.py
    , , Linux x86, Mac OS X x64 Windows x64. , .


    Android CMake-, . , : , Eclipse , / .

    / , !
  4. <android_project>/libs/ Android- /data/<package_name>/lib .

    gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

    gdbserver .

    ndk-gdb.py
    ndk-gdb.py Android NDK.

    :

    android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
    CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

    Eclipse ndk-gdb.py
    , , -.

    External Tool :


    , :


    C++ Remote Application
    Eclipse CDT , : C++ Remote Application .

    :


    - app_process , . app_process - Android, Java-.

    - gdb.setup , .

    CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

    Eclipse
    :


    :


    Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

    -!
    Eclipse, , :

    APK ndk-gdb.py
    , ?

    Launch Group to the rescue!
    , Eclipse CDT Eclipse, Launch Group.

    :

    APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




    Common Eclipse:


    Debug me
    , :





    - ?
    , . , , Android.
    - APK, .so, , . Launch Group.
    , .

    ndk-gdb.py
    , , Linux x86, Mac OS X x64 Windows x64. , .


    Android CMake-, . , : , Eclipse , / .

    / , !
  5. <android_project>/libs/ Android- /data/<package_name>/lib .

    gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

    gdbserver .

    ndk-gdb.py
    ndk-gdb.py Android NDK.

    :

    android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
    CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

    Eclipse ndk-gdb.py
    , , -.

    External Tool :


    , :


    C++ Remote Application
    Eclipse CDT , : C++ Remote Application .

    :


    - app_process , . app_process - Android, Java-.

    - gdb.setup , .

    CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

    Eclipse
    :


    :


    Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

    -!
    Eclipse, , :

    APK ndk-gdb.py
    , ?

    Launch Group to the rescue!
    , Eclipse CDT Eclipse, Launch Group.

    :

    APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




    Common Eclipse:


    Debug me
    , :





    - ?
    , . , , Android.
    - APK, .so, , . Launch Group.
    , .

    ndk-gdb.py
    , , Linux x86, Mac OS X x64 Windows x64. , .


    Android CMake-, . , : , Eclipse , / .

    / , !
  6. <android_project>/libs/ Android- /data/<package_name>/lib .

    gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

    gdbserver .

    ndk-gdb.py
    ndk-gdb.py Android NDK.

    :

    android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
    CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

    Eclipse ndk-gdb.py
    , , -.

    External Tool :


    , :


    C++ Remote Application
    Eclipse CDT , : C++ Remote Application .

    :


    - app_process , . app_process - Android, Java-.

    - gdb.setup , .

    CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

    Eclipse
    :


    :


    Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

    -!
    Eclipse, , :

    APK ndk-gdb.py
    , ?

    Launch Group to the rescue!
    , Eclipse CDT Eclipse, Launch Group.

    :

    APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




    Common Eclipse:


    Debug me
    , :





    - ?
    , . , , Android.
    - APK, .so, , . Launch Group.
    , .

    ndk-gdb.py
    , , Linux x86, Mac OS X x64 Windows x64. , .


    Android CMake-, . , : , Eclipse , / .

    / , !
<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !
<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !
<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !

<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !

<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !
<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !
<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !
<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !

<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !

<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !
  1. <android_project>/libs/ Android- /data/<package_name>/lib .

    gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

    gdbserver .

    ndk-gdb.py
    ndk-gdb.py Android NDK.

    :

    android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
    CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

    Eclipse ndk-gdb.py
    , , -.

    External Tool :


    , :


    C++ Remote Application
    Eclipse CDT , : C++ Remote Application .

    :


    - app_process , . app_process - Android, Java-.

    - gdb.setup , .

    CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

    Eclipse
    :


    :


    Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

    -!
    Eclipse, , :

    APK ndk-gdb.py
    , ?

    Launch Group to the rescue!
    , Eclipse CDT Eclipse, Launch Group.

    :

    APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




    Common Eclipse:


    Debug me
    , :





    - ?
    , . , , Android.
    - APK, .so, , . Launch Group.
    , .

    ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


    Android CMake-, . , : , Eclipse , / .

    / , !
  2. <android_project>/libs/ Android- /data/<package_name>/lib .

    gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

    gdbserver .

    ndk-gdb.py
    ndk-gdb.py Android NDK.

    :

    android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
    CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

    Eclipse ndk-gdb.py
    , , -.

    External Tool :


    , :


    C++ Remote Application
    Eclipse CDT , : C++ Remote Application .

    :


    - app_process , . app_process - Android, Java-.

    - gdb.setup , .

    CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

    Eclipse
    :


    :


    Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

    -!
    Eclipse, , :

    APK ndk-gdb.py
    , ?

    Launch Group to the rescue!
    , Eclipse CDT Eclipse, Launch Group.

    :

    APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




    Common Eclipse:


    Debug me
    , :





    - ?
    , . , , Android.
    - APK, .so, , . Launch Group.
    , .

    ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


    Android CMake-, . , : , Eclipse , / .

    / , !
  3. <android_project>/libs/ Android- /data/<package_name>/lib .

    gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

    gdbserver .

    ndk-gdb.py
    ndk-gdb.py Android NDK.

    :

    android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
    CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

    Eclipse ndk-gdb.py
    , , -.

    External Tool :


    , :


    C++ Remote Application
    Eclipse CDT , : C++ Remote Application .

    :


    - app_process , . app_process - Android, Java-.

    - gdb.setup , .

    CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

    Eclipse
    :


    :


    Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

    -!
    Eclipse, , :

    APK ndk-gdb.py
    , ?

    Launch Group to the rescue!
    , Eclipse CDT Eclipse, Launch Group.

    :

    APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




    Common Eclipse:


    Debug me
    , :





    - ?
    , . , , Android.
    - APK, .so, , . Launch Group.
    , .

    ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


    Android CMake-, . , : , Eclipse , / .

    / , !
<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !

<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !

<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !
  1. <android_project>/libs/ Android- /data/<package_name>/lib .

    gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

    gdbserver .

    ndk-gdb.py
    ndk-gdb.py Android NDK.

    :

    android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
    CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

    Eclipse ndk-gdb.py
    , , -.

    External Tool :


    , :


    C++ Remote Application
    Eclipse CDT , : C++ Remote Application .

    :


    - app_process , . app_process - Android, Java-.

    - gdb.setup , .

    CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

    Eclipse
    :


    :


    Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

    -!
    Eclipse, , :

    APK ndk-gdb.py
    , ?

    Launch Group to the rescue!
    , Eclipse CDT Eclipse, Launch Group.

    :

    APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




    Common Eclipse:


    Debug me
    , :





    - ?
    , . , , Android.
    - APK, .so, , . Launch Group.
    , .

    ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


    Android CMake-, . , : , Eclipse , / .

    / , !
  2. <android_project>/libs/ Android- /data/<package_name>/lib .

    gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

    gdbserver .

    ndk-gdb.py
    ndk-gdb.py Android NDK.

    :

    android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
    CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

    Eclipse ndk-gdb.py
    , , -.

    External Tool :


    , :


    C++ Remote Application
    Eclipse CDT , : C++ Remote Application .

    :


    - app_process , . app_process - Android, Java-.

    - gdb.setup , .

    CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

    Eclipse
    :


    :


    Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

    -!
    Eclipse, , :

    APK ndk-gdb.py
    , ?

    Launch Group to the rescue!
    , Eclipse CDT Eclipse, Launch Group.

    :

    APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




    Common Eclipse:


    Debug me
    , :





    - ?
    , . , , Android.
    - APK, .so, , . Launch Group.
    , .

    ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


    Android CMake-, . , : , Eclipse , / .

    / , !
  3. <android_project>/libs/ Android- /data/<package_name>/lib .

    gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

    gdbserver .

    ndk-gdb.py
    ndk-gdb.py Android NDK.

    :

    android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
    CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

    Eclipse ndk-gdb.py
    , , -.

    External Tool :


    , :


    C++ Remote Application
    Eclipse CDT , : C++ Remote Application .

    :


    - app_process , . app_process - Android, Java-.

    - gdb.setup , .

    CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

    Eclipse
    :


    :


    Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

    -!
    Eclipse, , :

    APK ndk-gdb.py
    , ?

    Launch Group to the rescue!
    , Eclipse CDT Eclipse, Launch Group.

    :

    APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




    Common Eclipse:


    Debug me
    , :





    - ?
    , . , , Android.
    - APK, .so, , . Launch Group.
    , .

    ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


    Android CMake-, . , : , Eclipse , / .

    / , !
<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !

<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !

<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !

<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py , , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !

<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !

<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !

<android_project>/libs/ Android- /data/<package_name>/lib .

gdbserver <android_project>/libs/ . set_ndk_gdbserver_compatible(target) . , CMake DEBUG_CONFIGURATIONS ( Debug , set_debug_configuration(config) ).

gdbserver .

ndk-gdb.py
ndk-gdb.py Android NDK.

:

android:debuggable="true" AndroidManifest.xml . package AndroidManifest.xml . PID package. gdbserver , . . gdb.setup .
CMake/auto_included/stuff/ndk-gdb.py.in set_ndk_gdbserver_compatible(target) . APK.

Eclipse ndk-gdb.py
, , -.

External Tool :


, :


C++ Remote Application
Eclipse CDT , : C++ Remote Application .

:


- app_process , . app_process - Android, Java-.

- gdb.setup , .

CMake-, build/android_debug/ndk-gdb app_process gdb.setup , Eclipse. , ndk-gdb.py app_process gdb.setup .

Eclipse
:


:


Android NDK: <android_ndk>/toolchains//prebuilt//bin/arm-linux-androideabi-gdb(.exe).

-!
Eclipse, , :

APK ndk-gdb.py
, ?

Launch Group to the rescue!
, Eclipse CDT Eclipse, Launch Group.

:

APK, 2 . APK, .. APK, . ndk-gdb.py, 2 . . C++ Remote Application.




Common Eclipse:


Debug me
, :





- ?
, . , , Android.
- APK, .so, , . Launch Group.
, .

ndk-gdb.py
, , Linux x86, Mac OS X x64 Windows x64. , .


Android CMake-, . , : , Eclipse , / .

/ , !

Source: https://habr.com/ru/post/216473/


All Articles