On 2010-11-19, Tim Roberts <t...@probo.com> wrote:
> dutche <dut...@gmail.com> wrote:

>> My project is to have a python program that loads a C program and
>> sets a breakpoint at some address, and then with this breakpoint I
>> change the EAX register and then continue the program execution.

> You will need to find a Linux application equivalent to PaiMei.  Your
> question is not "how can I change EAX", your question is "where can I
> find a Linux debugger that can be controlled from Python?"
>
> I don't know the answer to that.  gdb is quite powerful, and you can
> certainly control it by connecting to its stdin and stdout
> connections.

If you're going to do that, you want to run gdb in "machine interface"
mode, which makes it a lot easier to talk to programatically.  I've
not done it in Python, but it's easy enough in C, so in Python it
ought to be trivial:

 http://sourceware.org/gdb/current/onlinedocs/gdb/GDB_002fMI.html#GDB_002fMI

If you don't want to write code to talk the gdb/mi "command language",
then another option is to use a library like libmigdb:

  http://sourceforge.net/projects/libmigdb/

You can probably call the library functions using cytpes:

 http://docs.python.org/library/ctypes.html

-- 
Grant Edwards               grant.b.edwards        Yow! Psychoanalysis??
                                  at               I thought this was a nude
                              gmail.com            rap session!!!
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to