如何使用arm-eabi-gdb调试android c/c++程序

1.获取gdbserver

prebuilt/android-arm/gdbserver

 

2.获取arm-eabi-gdb

prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin

 

3.启动emulator(即qemu虚拟机,调式linux内核时用到)

 

$adb remount && adb push gdbserver /system/bin

 

adb shell

#gdbserver 10.0.2.2:1234 /system/bin/ping

 

$telnet localhost 5554

Trying ::1...

telnet: connect to address ::1: Connection refused

Trying 127.0.0.1...

Connected to localhost.

Escape character is '^]'.

Android Console: type 'help' for a list of commands

OK

]

KO: unknown command, try 'help'

**cmd**redir add tcp:1234:1234

OK

exit

Connection closed by foreign host.

 

$cd out/target/product/generic/symbols/system/bin && arm-eabi-gdb ping

 

(gdb) r

Starting program:  

Don't know how to run.  Try "help target".

 

(gdb) target remote localhost:1234

 

Remote debugging using localhost:1234

0xb0000100 in ?? ()

(gdb) l

1779 usage();

1780 if (argc > 5)

1781 usage();

1782 } else {

1783 if (argc > 10)

1784 usage();

1785 options |= F_SOURCEROUTE;

1786 }

1787 }

1788 while (argc > 0) {

你可能感兴趣的:(android,虚拟机,command,character,debugging,linux内核)