gdb Input / Output error vzdálené ladění na Androidu

hlasů
4

Snažím se ladění aplikace pro Android, který volat nativní kód dělat nějaké GL rendering. Nativní kód existující kód, který se snažím portu (a to nemám opravdu vědět, že dobře). Mám existující kód kompilace, propojování a správné instalaci a mám nějaké nativní funkce, které volají do tohoto kódu, které jsou správně volal ze svého kódu v jazyce Java. Začínám si segfault, že jsem se snaží vypátrat, a má nějaké problémy dostat gdb nastavit zarážku v programu. Jedná se o Windows XP s Cygwin - a měl bych zmínit Stále se učím gdb.

Začal jsem s směrech http://honeypod.blogspot.com/2008/01/debug-native-application-for-android.html ; Zde je to, co jsem v současné době dělá.

Spustit aplikaci v emulátoru.

V cmd řádku:

> 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

V cygwin pláště:

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.

Takže to vypadá, že bod přerušení dostane nastavit v pořádku, a že symboly jsou v pořádku, ale možná, že adresa je špatně, když se pokusí vložit zarážku. Vyzkoušel jsem několik variant různých příkazů z webové stránky odkazované výše, ale zatím bez úspěchu.

Nějaké nápady, co se děje?

dík

Položena 16/02/2010 v 23:18
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
1

V podstatě, v tomto bodě se NDK 1.6, jsem zjistil, že tam prostě není podpora pro tento druh ladění přísně s NDK. Nicméně, pokud používáte PDK (vývojový kit platforma), můžete tak učinit tento druh ladění s nativním kódu. Ještě jsme se snažili PDK, protože generuje soubor mapy pracoval dost dobře pro nás (viz tomu tak je otázka ), ale pokud si jít touto cestou, zkontrolujte skupinu google NDK pro více informací.

Odpovězeno 25/02/2010 v 19:47
zdroj uživatelem

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