projects
/
pygdb.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
remembering window sizes
[pygdb.git]
/
GdbTerminal.py
diff --git
a/GdbTerminal.py
b/GdbTerminal.py
index 77d21e2f6e3fbffab0c3143214bca2ff1dd8db31..304e39ab622185cd2132e616fe17c0cd5c89b261 100755
(executable)
--- a/
GdbTerminal.py
+++ b/
GdbTerminal.py
@@
-25,66
+25,66
@@
class GdbTerminal (DbgTerminal.DbgTerminal):
def setPty(self, pty):
ttyname = os.ttyname(pty)
def setPty(self, pty):
ttyname = os.ttyname(pty)
- self.feed_
dbg
("set inferior-tty %s\n" % (ttyname,))
+ self.feed_
child
("set inferior-tty %s\n" % (ttyname,))
def setRun(self):
his = self.getHistoryLen()
argv = string.join(string.split(self.clientCmd)[1:])
def setRun(self):
his = self.getHistoryLen()
argv = string.join(string.split(self.clientCmd)[1:])
- self.feed_
dbg
("run " + argv + "\n")
+ self.feed_
child
("run " + argv + "\n")
return self.waitForActivation(his)
return self.waitForActivation(his)
-
def setContinue(self):
his = self.getHistoryLen()
def setContinue(self):
his = self.getHistoryLen()
- self.feed_
dbg
("cont\n");
+ self.feed_
child
("cont\n");
return self.waitForActivation(his)
def setStepover(self):
his = self.getHistoryLen()
return self.waitForActivation(his)
def setStepover(self):
his = self.getHistoryLen()
- self.feed_
dbg
("next\n");
+ self.feed_
child
("next\n");
return self.waitForActivation(his)
def setStepin(self):
his = self.getHistoryLen()
return self.waitForActivation(his)
def setStepin(self):
his = self.getHistoryLen()
- self.feed_
dbg
("step\n");
+ self.feed_
child
("step\n");
return self.waitForActivation(his)
def setQuit(self):
return self.waitForActivation(his)
def setQuit(self):
- self.feed_
dbg
("quit\n")
+ self.feed_
child
("quit\n")
self.waitForNewline()
self.waitForNewline()
- self.feed_
dbg
("y\n");
+ self.feed_
child
("y\n");
def setBreakpoint(self, file, lineno, condition=None):
his = self.getHistoryLen()
if condition==None:
def setBreakpoint(self, file, lineno, condition=None):
his = self.getHistoryLen()
if condition==None:
- self.feed_
dbg
("break %s:%s\n" % (file, str(lineno)))
+ self.feed_
child
("break %s:%s\n" % (file, str(lineno)))
else:
else:
- self.feed_
dbg
("break %s:%s if %s\n" % \
+ self.feed_
child
("break %s:%s if %s\n" % \
(file, str(lineno), condition))
(file, str(lineno), condition))
- rx = re.compile("^Breakpoint |^No|^\(gdb\) ")
+ rx = re.compile("^Breakpoint |^No
|^\(gdb\) ")
his, response = self.waitForRx(rx, his)
his, response = self.waitForRx(rx, his)
-
if response[0:10] == "Breakpoint":
return string.split(response)[1].strip()
if response[0:10] == "Breakpoint":
return string.split(response)[1].strip()
- if response[0:5] == "(gdb)":
- return None
+
if response[0:14] == "No source file":
if response[0:14] == "No source file":
- self.feed_dbg("n\n");
- return None
- if response[0:3] == "No ":
+ self.feed_child("n\n");
return None
return None
-
- return NotImplementedError()
+
+ #Wait again for gdb
+ if response[0:5] != "(gdb)":
+ his, response = self.waitForRx(rx,his)
+
+ return None
+
def delBreakpoint(self, breakpoint):
def delBreakpoint(self, breakpoint):
- self.feed_
dbg
("del breakpoint %s\n" % (breakpoint,))
+ self.feed_
child
("del breakpoint %s\n" % (breakpoint,))
def getBreakpoints(self):
starthis = self.getHistoryLen()
def getBreakpoints(self):
starthis = self.getHistoryLen()
- self.feed_
dbg
("info breakpoints\n")
+ self.feed_
child
("info breakpoints\n")
rx = re.compile("^\(gdb\) ")
endhis, response = self.waitForRx(rx, starthis)
rx = re.compile("^\(gdb\) ")
endhis, response = self.waitForRx(rx, starthis)
@@
-102,7
+102,6
@@
class GdbTerminal (DbgTerminal.DbgTerminal):
line = bplines[i]
if not rxbp1.search(line):
line = bplines[i]
if not rxbp1.search(line):
- print "Warning GdbTerminal.getBreakpoints at line", line
i += 1
continue
i += 1
continue
@@
-128,7
+127,7
@@
class GdbTerminal (DbgTerminal.DbgTerminal):
def getExpression(self, expr):
his = self.getHistoryLen()
def getExpression(self, expr):
his = self.getHistoryLen()
- self.feed_
dbg
("print " + expr + "\n")
+ self.feed_
child
("print " + expr + "\n")
rx = re.compile("^\(gdb\) $")
his, response = self.waitForRx(rx, his)
rx = re.compile("^\(gdb\) $")
his, response = self.waitForRx(rx, his)
@@
-142,7
+141,7
@@
class GdbTerminal (DbgTerminal.DbgTerminal):
return string.join(split[1:], "=").strip()
return string.join(split[1:], "=").strip()
- def waitForActivation(self, his):
+ def waitForActivation(self, his
=None
):
self.setActive(False)
rx = re.compile("^\(gdb\) $")
self.setActive(False)
rx = re.compile("^\(gdb\) $")
@@
-163,7
+162,6
@@
if __name__ == "__main__":
dbgterm = GdbTerminal(string.join(sys.argv[1:]))
dbgwnd = DbgTerminal.DbgWindow(dbgterm)
dbgterm = GdbTerminal(string.join(sys.argv[1:]))
dbgwnd = DbgTerminal.DbgWindow(dbgterm)
- DbgTerminal.launchDebugger(dbgwnd, dbgterm)
gtk.main()
gtk.main()