Using gdbserver gdbserver is the remotization of ptrace(2) You run gdbserver on the target like you'd invoke gdb You control gdbserver through a serial or TCP port On the host, a specific target-aware gdb is used It must read and understand information in the target ELF It must be able to disassemble for the target architecture The cross-gdb (e.g.: arm-linux-gdb) si called just like gdb It uses a binary file with all symbolic information It accepts the "target remote" command to export ptrace actions $ gdbserver host:2000 myapp $ arm-linux-gdb vmlinux target remote peedi:2000 set print elements 16384 set height 30 p log_buf bt