set breakpoints in remote debugging

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

set breakpoints in remote debugging

fzchuan

Hi all:

I encountered some problems in GDB remote debugging.
In most of time, GDB host would send correct breakpoint address to target which
I asked it. But sometimes it would send strange address.
That is,in GDB host side,I set breakpoint on some address,i.e.:
(gdb)b *0x8

Then, in target side, target will receive the request.
I print the message received from GDB host,
and it shows that GDB ask target to stop at 0xc6

I use GDB disassemble to query 0x8, and is shows that it is a Call (JUMP)
instruction and jump target address is 0xc6.

Why? thanks

Pin-Chuan


Reply | Threaded
Open this post in threaded view
|

Re: set breakpoints in remote debugging

Daniel Jacobowitz-2
On Thu, Nov 03, 2005 at 01:34:48AM +0800, fzchuan wrote:

>
> Hi all:
>
> I encountered some problems in GDB remote debugging.
> In most of time, GDB host would send correct breakpoint address to target which
> I asked it. But sometimes it would send strange address.
> That is,in GDB host side,I set breakpoint on some address,i.e.:
> (gdb)b *0x8
>
> Then, in target side, target will receive the request.
> I print the message received from GDB host,
> and it shows that GDB ask target to stop at 0xc6
>
> I use GDB disassemble to query 0x8, and is shows that it is a Call (JUMP)
> instruction and jump target address is 0xc6.
>
> Why? thanks

There is not enough information to answer your question.  When does
this happen?  What does the remote protocol and GDB console show when
it does?  What target is this?

--
Daniel Jacobowitz
CodeSourcery, LLC
Reply | Threaded
Open this post in threaded view
|

Re: set breakpoints in remote debugging

Paul Koning
In reply to this post by fzchuan
>>>>> "fzchuan" == fzchuan  <[hidden email]> writes:

 fzchuan> Hi all:

 fzchuan> I encountered some problems in GDB remote debugging.  In
 fzchuan> most of time, GDB host would send correct breakpoint address
 fzchuan> to target which I asked it. But sometimes it would send
 fzchuan> strange address.  That is,in GDB host side,I set breakpoint
 fzchuan> on some address,i.e.: (gdb)b *0x8

 fzchuan> Then, in target side, target will receive the request. I
 fzchuan> print the message received from GDB host, and it shows that
 fzchuan> GDB ask target to stop at 0xc6

 fzchuan> I use GDB disassemble to query 0x8, and is shows that it is
 fzchuan> a Call (JUMP) instruction and jump target address is 0xc6.

 fzchuan> Why? thanks

You probably did a step command.  Step is usually done by setting a
breakpoint at the address after the instruction.  For jumps, that
"next" address is the target address.

       paul