NDK-gdb s více tak knihovnami

hlasů
7

Dozvěděla jsem se o ladicí nástroje „NdK-gdb“ z Android NDK R4. Teď už můžete začít ladění ahoj-JNI vzorek (i když některé problém existuje).

Ale pro své vlastní aplikace pro Android, mám několik, takže libs použít sestavit z velkého množství C / C ++ soubory. Použil jsem k vybudování těchto tzv soubory s NDK-build a zkopírujte tyto soubory, takže pod $ projekt / libs adresáři, a to funguje bez ladění. Ale teď chci ladit jednou tak lib s NdK-gdb. Když jsem začal NDK-gdb vytýká, že není vložena tabulka symbolů.

Také jsem zkopírovat všechny tyto soubory, takže na $ PROJECT / bin / NDK / local / armeabi (vypadá jako výchozího adresáře, kde gdb se pokusí načíst tabulku symbolů). A přesto to nefunguje.

Možná NDK-gdb nemůže sledovat své takže soubory, když jsem zkopírovat? Nebo proč nemůže načíst nějaký symbol tabulky, a to i poté, co jsem zkopírovat pod $ PROJECT / bin / NDK / local / armeabi?

Už někdo setkat s tímto problémem před?

Díky moc!

Položena 09/09/2010 v 09:44
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
10

Myslím, že jejich kopírování na chybné složce. Starší NDK zkopíruje soubory do složky bin; se nové jádro zkopíruje do složky obj, a to je to, kde se poukazuje gdb hledat symboly.

Také se ujistěte, že máte zkopírovat předem odizolované .so soubory do složky obj, a ne stejné soubory, které zkopírujete do složky libs: Jako součást procesu sestavení, soubory ve složce libs byly odstraněny symbolů a informace o ladění. Takže budete chtít, aby dvě kopie každého z vašich .so soubory: Jeden ze složky libs nainstalovat na zařízení se systémem Android, a jeden ze složky obj instalovat pro GDB dostat symboly vybírat.

Dalo by se místo kopírování souborů ladění do složky obj do vašich aplikací stromu přidat druhý build adresáře obj / složky na symbol vyhledávací cestě GDB je. NDK-build nastaví soubor, gdb.setup, který obsahuje řádek, který začíná set solib-search-cestě . Můžete si dát cestu k dvojtečkou oddělený na tomto řádku, který zahrnuje všechny své cíle obj / local / jakýchkoli složek, a pak gdb najdete znak.

Odpovězeno 25/09/2010 v 06:56
zdroj uživatelem

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