This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Cannot insert breakpoint -1.


Hello,

 Is there a reason why GDB will try to set a breakpoint (breakpoint number: -1) at
 the entry point address on a 'c', after a 'target remote'? (I am using a GDB stub
 at the remote end that resides in a hypervisor upon which guest OS'es run).

I am using gdb-6.8.50.20090717; but, I suppose that this is general GDB behaviour.

--------------------------------------------------------------------------------
 (gdb) target remote :12007
Remote debugging using :12007
warning: Loadable segment "cpu0_heap_stack" outside of ELF segments
warning: Loadable segment "cpu1_heap_stack" outside of ELF segments
warning: Loadable segment "cpu2_heap_stack" outside of ELF segments
warning: Loadable segment "cpu3_heap_stack" outside of ELF segments
warning: Loadable segment "cpu4_heap_stack" outside of ELF segments
warning: Loadable segment "cpu5_heap_stack" outside of ELF segments
warning: Loadable segment "cpu6_heap_stack" outside of ELF segments
warning: Loadable segment ".stats_heap" outside of ELF segments
warning: Loadable segment ".dpa_mem" outside of ELF segments
0x0013c880 in ?? ()
(gdb) p $pc
$1 = (void (*)()) 0x13c880
(gdb) c
Continuing.
Warning:
Cannot insert breakpoint -1.
Error accessing memory address 0x110000: Unknown error 18446744073709551615.
--------------------------------------------------------------------------------

 (The entry point is likely not mapped into the TLB at that stage and so it is
 really a visible problem, else it just does this silently without it getting
 any attention).

 I tried to work around the issue by using set remote-<name>-packet, where <name>
 equalled software-breakpoint - but that does not work (it did not send a Z0, but
 sent an X packet instead (verified with an earlier GDB compiled with tracing on)):

--------------------------------------------------------------------------------
(gdb) c
Continuing.
^C
Program received signal SIGTRAP, Trace/breakpoint trap.
0x0013c888 in ?? ()
(gdb) c
Continuing.
Warning:
Cannot insert breakpoint -1.
Error accessing memory address 0x110000: Input/output error.
--------------------------------------------------------------------------------

 I then also re-tried with <name> equal to binary-download - but that does not work
 (it did not send the X, but sent an M packet instead):

--------------------------------------------------------------------------------
(gdb) c
Continuing.
^C
Program received signal SIGTRAP, Trace/breakpoint trap.
Cannot remove breakpoints because program is no longer writable.
Further execution is probably impossible.
0x0013c880 in ?? ()
(gdb) --------------------------------------------------------------------------------


Please could someone kindly shed light on this GDB behaviour?

Thank you.

Anmol.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]