Debug code in data section in gdb

Tao Zhang
Tue Jun 22 22:23:00 GMT 2004

Hi, Michael

Yeah, I understand GDB will modify the code at the address of a
breakpoint. I can break the program just before the execution jump to the
code copied from somewhere. Then I set a breakpoint at the beginning of
the copied code. It still won't work. Another thing is I see the code is
same as the original code. My question is whether I can see the GDB modified
instruction by disassemble the memory ? When and How gdb modifies the

I suspect this problem is specific to my port of gdb, so maybe I need to
understand how breakpoints work in gdb to understand my problem. Could
anybody give me some pointers to articles or online books on debugger or

Thanks so much


			-Tao Zhang (

On Tue, 22 Jun 2004, Michael Elizabeth Chastain wrote:

> Hi Tao,
> It sounds like, perhaps, you are placing the breakpoint first,
> and then copying the code on top of the location of the breakpoint.
> The way gdb sets breakpoints (usually) is that gdb writes a BREAKPOINT
> instruction into the memory at the address indicated.  So if you
> set a breakpoint first, then overwrite that memory with your own
> contents, then you will overwrite the BREAKPOINT instruction and
> lose it.
> Can you capture a complete gdb session with the 'script' command
> and mail it in?
> Michael C
> GDB QA Guy

More information about the Gdb mailing list