> On Jun 24, 2015, at 9:22 PM, Fei Ding <[email protected]> wrote:
>
> Hi.
>
> Recently I am working on debugging a bug of gdb/gdbserver when setting
> breakpoints on ARM devices. I found that, gdb-client nearly do nothing
> about it when we use gdb/gdbserver on x86 platform, gdbserver do the
> dirty work in fact, including generate INT 3 instruction, read, save,
> and write memory, etc... But for ARM, this work is done on the
> gdb-client side, which is opposed to x86 case. Anyone know why? Or any
> thoughts?
Some targets have a “hardware breakpoint” or “software breakpoint” feature where the hardware or OS implements breakpoint support directly. Others don’t. If they don’t, then GDB just does the work by saving the original instruction, replacing it by a break, restoring the original when the breakpoint is hit, and so on.
Both work. Why does it matter which approach is used?
paul
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.