Re: GDB Python - gdb.execute() - with a timeout?
Ofir Cohen <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <CAHOBVAe3UMMOXFB5mfAqZm-EUrkdOpNrxf4JHOhi+ps1N3_mAA@mail.gmail.com> |
Hi, This is achievable via pexpect wrapper. You can take a look at this example: http://opensource.apple.com/source/lldb/lldb-76/utils/test/disasm.py The pexpect.spawn receives timeout as a parameter, so you could adapt it to your needs. I don't think this is achievable directly in gdb, i.e. w/o wrappers. Most of the gdb code _once executed_ is synchronous and doesn't allow timeouts or that sort of thing. Correct me if I'm wrong. - Ofir On 27 July 2015 at 15:23, Duane Ellis <[email protected]> wrote: > Hi, am trying to script some times using GDB/Python specifically some test cases > > The general format of my GDB_PY scripts are: > > import gdb > gdb.execute(“load foobar”) > > gdb.execute(“break test_breakpoint”) > > gdb.execute(“run”) > gdb.execute(“set test_flag=0x1234”) > > gdb.execute(“cont”) <— HERE Is where I want a timeout > > # At this point, we should eventually hit the “test_breakpoint” > # However in some cases we do not. > > the timeout needs to be ‘reasonably programable’ - i.e.: 1 second, 10 seconds, an hour would in some use cases be reasonable. > > In other words, if my test case is running properly - I should hit the breakpoint. > > I need a means to detect when things go wrong. > > This problem is *NOT* limited to the TEST case > > Is there some way to do this? > > Thanks. >