Daniel Gutson
2014-10-17 15:42:41 UTC
Hi,
gdb is sometimes used for changing the runtime behavior of a program.
That is, suppose there is a program that has a bug,
it is spotted with gdb, then I create a set of non-stopping breakpoints that
"fix" the runtime behavior by altering memory and registers.
It does work, but it's slow.
I was thinking to start a project to add a "breakpoint commands compiler"
to gdb, which basically generates C code from the breakpoint commands
(one function per breakpoint),
which in turns calls a C API (similar to the python api), invokes the compiler
(user-specified), loads it as a shared object, and finally replaces the commands
of the breakpoints by calls to the compiled breakpoint-functions.
Any comment/suggestion? Would this be accepted within gdb?
Thanks,
Daniel.
--
Daniel F. Gutson
Chief Engineering Officer, SPD
San Lorenzo 47, 3rd Floor, Office 5
Córdoba, Argentina
Phone: +54 351 4217888 / +54 351 4218211
Skype: dgutson
gdb is sometimes used for changing the runtime behavior of a program.
That is, suppose there is a program that has a bug,
it is spotted with gdb, then I create a set of non-stopping breakpoints that
"fix" the runtime behavior by altering memory and registers.
It does work, but it's slow.
I was thinking to start a project to add a "breakpoint commands compiler"
to gdb, which basically generates C code from the breakpoint commands
(one function per breakpoint),
which in turns calls a C API (similar to the python api), invokes the compiler
(user-specified), loads it as a shared object, and finally replaces the commands
of the breakpoints by calls to the compiled breakpoint-functions.
Any comment/suggestion? Would this be accepted within gdb?
Thanks,
Daniel.
--
Daniel F. Gutson
Chief Engineering Officer, SPD
San Lorenzo 47, 3rd Floor, Office 5
Córdoba, Argentina
Phone: +54 351 4217888 / +54 351 4218211
Skype: dgutson