Kampi
Kampi

Reputation: 1891

GDB remote debugging fails with error E01

I use this (http://cs.baylor.edu/~donahoo/tools/gdb/tutorial.html) guide to learn how GDB works. After compiling and uploading the code to my embedded linux arm platform I use a remote connection to connect with the gdbserver on my target:

Target:

root@zedboard-zynq7:/Software# gdbserver HOST:1234 broken
Process broken created; pid = 1103
Listening on port 1234
Remote debugging from host 192.168.178.32

Host (Ubuntu 14.04 running in a virtual machine):

Remote debugging using 192.168.178.33:1234
warning: A handler for the OS ABI "GNU/Linux" is not built into this   
configuration of GDB.  Attempting to continue with the default arm settings.

Cannot access memory at address 0x0
0x43330d40 in ?? ()
(gdb) 

I set the breakpoint to line 43 and continue the program until it stops at the breakpoint:

(gdb) b 43
Breakpoint 1 at 0x8b68: file broken.cpp, line 43.
(gdb) continue
Continuing.

Breakpoint 1, main () at broken.cpp:43
43    double seriesValue = ComputeSeriesValue(x, n);
(gdb) 

But after a step call on my host I got this error: Host:

warning: Remote failure reply: E01
Ignoring packet error, continuing...

Target:

ptrace: Input/output error.
input_interrupt, count = 1 c = 36 ('$')

What does it mean and how can I fix it?

Thanks for help.

Upvotes: 2

Views: 3737

Answers (1)

Employed Russian
Employed Russian

Reputation: 213877

Host (Ubuntu 14.04 running in a virtual machine):

Remote debugging using 192.168.178.33:1234
warning: A handler for the OS ABI "GNU/Linux" is not built into this   
configuration of GDB.  Attempting to continue with the default arm settings.`

This says that your (host) GDB has not been built with support for the target you want to debug.

What does it mean and how can I fix it?

You need to either get a different build of (host) GDB, or build one yourself with correct --target setting.

Usually a correct host GDB is included with the cross-gcc that you use to build for your target. So a fix may be as simple as running /path/to/cross-gdb instead of gdb.

Upvotes: 0

Related Questions