--- /dev/null
+#!/usr/bin/python
+#shuber, 2008-06-04
+
+__author__ = "shuber"
+
+
+import gtk
+import os
+import re
+import string
+import sys
+import time
+
+import DbgWindow
+
+
+class GdbWindow (DbgWindow.DbgWindow):
+
+
+ def __init__(self, clientCmd):
+ DbgWindow.DbgWindow.__init__(self, clientCmd)
+
+ def getDbgArgv(self):
+ return ["gdb", "--fullname", string.split(self.clientCmd)[0]]
+
+ def setDbgPty(self, pty):
+ ttyname = os.ttyname(pty)
+ self.feed_dbg("set inferior-tty %s\n" % (ttyname,))
+
+ def setDbgRun(self):
+ argv = string.join(string.split(self.clientCmd)[1:])
+ self.feed_dbg("run " + argv + "\n")
+
+ def setDbgQuit(self):
+ self.feed_dbg("quit\n")
+ self.waitForDbgNewline()
+ self.feed_dbg("y\n");
+
+ def setDbgContinue(self):
+ self.feed_dbg("cont\n");
+
+ def setDbgBreakpoint(self, file, lineno):
+ self.feed_dbg("break %s:%d\n" % (file, lineno))
+
+ def getDbgExpression(self, expr):
+
+ self.waitForDbgNewline()
+ self.feed_dbg("print " + expr + "\n")
+
+ rx = re.compile("^\$[1-9][0-9]* = .*$")
+ response = self.waitForDbgRx(rx)
+
+ split = string.split(response, "=")
+ return string.join(split[1:], "=").strip()
+
+
+
+if __name__ == "__main__":
+
+
+ gdbwnd = GdbWindow(string.join(sys.argv[1:]))
+ DbgWindow.launchDebugger(gdbwnd)
+
+
+
+