2016-04-23 10 views
0

Ich versuche, einen Prozess auf meinem gerooteten Android anzuhängen und corefile mit GDB zu erstellen, aber es kann keine gcore-Datei erstellen, da die Symbole nicht gefunden werden konnten.Android: Keine Debugging-Symbole in gdbserver

auf meinem Handy, ich öffne Terminal-App und i Eingang

su 

Root-Zugriff in Terminal zu gewähren. i Eingabe

dumpsys meminfo 

, um alle laufenden Prozesse anzuzeigen. i Eingangs

gdbserver :1234 --attach 5132 

auf meinem Computer, ich öffne gdb.exe (von Android NDK) und i Eingang

(gdb) target remote 192.168.1.13:1234 

und ich habe diejenigen Infomationen

(gdb) target remote 192.168.1.13:1234 
Remote debugging using 192.168.1.13:1234 
warning: Architecture rejected target-supplied description 
Reading /system/bin/app_process32_original from remote target... 
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead. 
warning: A handler for the OS ABI "Cygwin" is not built into this configuration 
of GDB. Attempting to continue with the default arm settings. 

Reading /system/bin/app_process32_original from remote target... 
warning: A handler for the OS ABI "Cygwin" is not built into this configuration 
of GDB. Attempting to continue with the default arm settings. 

Reading symbols from target:/system/bin/app_process32_original...(no debugging symbols found)...done. 
0xb6e8b0f8 in ??() 

Mit meinen eigenen zusammengestellt gdb .exe, ich habe eine andere Information

(gdb) target remote 192.168.1.13:1234 
Remote debugging using 192.168.1.13:1234 
warning: Can not parse XML target description; XML support was disabled at compile time 
Reading /system/bin/app_process32_original from remote target... 
warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead. 
Reading /system/bin/app_process32_original from remote target... 
Reading symbols from target:/system/bin/app_process32_original...(no debugging symbols found)...done. 
Remote 'g' packet reply is too long: fcffffff605fd9be10000000ffffffff0000000008000000000000005a010000a87687b414000000000000004010c5fd9be005fd9be1352e6b6f8b0e8b610000f204a280000000000003d0000001100000000000000000000006000000004000000d002000068010000680100003702000052000010110000001600000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004a28000072002e0073006500720076006900630065002e0056006f006900700043006f006e006e006500630074006f0072005300e83bb770e83bb77088639b70e83bb770e83bb770e83bb770e83bb770e83bb770e83bb770e83bb770e83bb770e83bb770e83bb770e83bb770e83bb770e83bb77011000060 
0xb6e8b0f8 in ??() 

i-Typ

gcore 

und es sagt

Can't create a corefile 

ich die richtige gdbserver binary installiert haben, die

Ich habe versucht, verschiedene Android OSes unter Android 4.4 in/system/bin mit meinem Kernel-Architektur passen .4, die keine PIE-Schutz-Sache hat, aber ich bekomme immer noch das gleiche Problem. Ich habe versucht, ported Version gdb Client zu verwenden und es funktioniert perfekt.

Ich möchte nur die Kerndatei mit meinem leistungsstarken Gerät mit Android 5.1.1 mit 2 GB RAM speichern, stattdessen mit Gdb-Client auf meinem Low-End-Tablet mit 512 MB RAM und Android 4.4.4 ausgeführt, und die gdb könnte das Corefile aufgrund des niedrigen RAM nicht vollständig erstellen.

Antwort

1

Nur gdb Quelle herunterladen und kompilieren mit folgenden Schritten:

1) .Compile gdb mit folgenden Befehl ein:

cd gdb-7.11/gdb 
./configure --target=arm-linux-androideabi --with-python --prefix=$HOME/mybinaries/bin 
make 
make install 

2) .Compile gdbserver mit folgendem Befehl ein:

cd gdb-7.11/gdb/gdbserver 
CC=arm-linux-androideabi-gcc LDFLAGS="-fPIC -pie" ./configure --target=arm-linux-androideabi --host=arm-linux-androideabi --prefix=$HOME/mybinaries/bin 
make 
make install 
+0

danke für eine bessere erklärung – prouser135

1

Wenn die GDB Kompilieren ich das Ziel --target arm-linux-androideabi statt --target arm-eabi geben muss und es funktioniert perfekt