Ladění Android NDK, pod okny

hlasů
7

Jsem portování komplexní aplikace C na Androidu, jako knihovny SO, obalena tenkou vrstvou java. Po několika hodinách zmatků, mám kód, kompilace pod Android, ale samozřejmě, dojde k chybě aplikace :(

Poté, co při pohledu kolem sebe, i pochopit, jediný způsob, jak aplikace ladění C pod Android je pomocí gdb. Vzhledem k tomu, že nemám mnoho zkušeností s gdb, žádný, kdo tam může sdílet některé poznatky?

Každý, kdo má návod pro gdb pod okny :)?

díky

Položena 13/07/2010 v 15:54
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
8

pro novější verzi NDK (já používám 7c), můžete vytvořit ladicí verze aplikace

  1. přidat android:debuggable="true"vlajku <Application>označit zaAndroidManifest.xml
  2. odvolávat ndk-buildse NDK_DEBUG=1(NDK_DEBUG příznak není nutná, pokud běží NDK-stavět s unix shell)

Windows, se věci trochu složitější, protože k použití ndk-gdb, budete ještě potřebovat bash (nebo cygwin) jako o NDK 7c, ale ndk-buildběží v Cygwin bash bude probíhat do problému oprávnění, pokud jste někdy použít některý z předem postavený statické knihovny

moje řešení na Windows stroji je

  1. přidat android:debuggable="true"vlajku <applicationoznačit v AndroidManifest.xml(stejné jako výše)
  2. cmd (Windows' příkazový řádek): vyvolání ndk-buildsNDK_DEBUG=1
  3. V cygwin bash: běžet ndk-gdb

pro rychlé počáteční vyšetřování rodák tak knihovny, vytvořit jednoduchou činnost s jedním tlačítkem pro spuštění knihovny vstupní funkce a loadLibraryna činnosti, jako je:

class MyActivity extends Activity {
    static {
       System.loadLibrary("mylibrary");
    }

    /* other functions like onCreate, etc... */

    public native void libfunc();

    public void onClick(View v){
       libfunc();
    }
}

Takže když gdbse spustí, knihovna v pochybnost je ve skutečnosti načten, ale stále můžete mít čas nastavit body přerušení, etc před pády programu; Při dokončení nastavení ladicího programu, na (gdb)příkazovém řádku zadejte continue(nebo jen ' c‚), poté stiskněte tlačítko pro spuštění programu shazovat a šťastné ladění ...

Odpovězeno 25/04/2012 v 01:00
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more