projects
/
pygdb.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
- Fixed bug when bp is set on same addr
[pygdb.git]
/
GdbTerminal.py
diff --git
a/GdbTerminal.py
b/GdbTerminal.py
index 4fb4a35b8dd8c2494f76a759a6fbcbeb0cb626f9..304e39ab622185cd2132e616fe17c0cd5c89b261 100755
(executable)
--- a/
GdbTerminal.py
+++ b/
GdbTerminal.py
@@
-17,8
+17,8
@@
import DbgTerminal
class GdbTerminal (DbgTerminal.DbgTerminal):
class GdbTerminal (DbgTerminal.DbgTerminal):
- def __init__(self, clientCmd
, exitcb=None
):
- DbgTerminal.DbgTerminal.__init__(self, clientCmd
, exitcb
)
+ def __init__(self, clientCmd):
+ DbgTerminal.DbgTerminal.__init__(self, clientCmd)
def getArgv(self):
return ["gdb", "--fullname", string.split(self.clientCmd)[0]]
def getArgv(self):
return ["gdb", "--fullname", string.split(self.clientCmd)[0]]
@@
-34,7
+34,6
@@
class GdbTerminal (DbgTerminal.DbgTerminal):
self.feed_child("run " + argv + "\n")
return self.waitForActivation(his)
self.feed_child("run " + argv + "\n")
return self.waitForActivation(his)
-
def setContinue(self):
his = self.getHistoryLen()
self.feed_child("cont\n");
def setContinue(self):
his = self.getHistoryLen()
self.feed_child("cont\n");
@@
-63,20
+62,22
@@
class GdbTerminal (DbgTerminal.DbgTerminal):
self.feed_child("break %s:%s if %s\n" % \
(file, str(lineno), condition))
self.feed_child("break %s:%s if %s\n" % \
(file, str(lineno), condition))
- rx = re.compile("^Breakpoint |^No|^\(gdb\) ")
+ rx = re.compile("^Breakpoint |^No
|^\(gdb\) ")
his, response = self.waitForRx(rx, his)
if response[0:10] == "Breakpoint":
return string.split(response)[1].strip()
his, response = self.waitForRx(rx, his)
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":
self.feed_child("n\n");
return None
if response[0:14] == "No source file":
self.feed_child("n\n");
return None
- if response[0:3] == "No ":
- 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):
self.feed_child("del breakpoint %s\n" % (breakpoint,))
def delBreakpoint(self, breakpoint):
self.feed_child("del breakpoint %s\n" % (breakpoint,))