bpspec = self.bpEntry.get_text()
bpspec = bpspec.strip()
- rx = re.compile("^[\w\._\-]+:\d+(\s+if\s+\S+.*)?$")
+ rx = re.compile("^[\w/\._\-]+:\d+(\s+if\s+\S+.*)?$")
#Check if format is correct
if not rx.search(bpspec):
try:
cnt = 0
#Parse all lines
- for line in file(filename).readlines():
+ f = file(filename, "r")
+ for line in f.readlines():
cnt += 1
#Get command and tail
else:
cnt -= 1
print "Unkown command", cmd
+ f.close()
return cnt
+
except IOError:
return None
def store(self, filename):
+ try:
+ f = file(filename, "w")
- f = file(filename, "w")
+ for b in self.breakpoints:
+ self.__writeBreak(f, b)
- for b in self.breakpoints:
- self.__writeBreak(f, b)
+ for w in self.watches:
+ self.__writeWatch(f, w)
- for w in self.watches:
- self.__writeWatch(f, w)
+ for s in self.ints:
+ self.__writeInt(f, s)
- for s in self.ints:
- self.__writeInt(f, s)
+ f.close()
+ return True
+
+ except IOError:
+ return False
def parseBreak(self, tail):
tail = tail.strip()
- rx = re.compile("^[\w\._\-]+:\d+(\s+if\s+\S+.*)?$")
+ rx = re.compile("^[\w/\._\-]+:\d+(\s+if\s+\S+.*)?$")
if not rx.search(tail):
print "Wrong breakpoint format:", tail
import vim
#Do not use a ~ for home directory
-sys.path.append("/home/shuber/projekte/pygdb/")
+pygdbdir = "/home/shuber/projekte/pygdb"
+sys.path.append(pygdbdir)
+
+import Configuration
-import pygdb
-import GdbTerminal
-import MainControlWindow
-import StatusWindow
#Breakpoint positions: List of dictionaries of form {"signnum" : , "file" : , "lineno":, "cond" : }
signnum = 0
clientcmd = ""
-gdbterm = None
-mainctrlwnd = None
-statuswnd = None
-gdbthread = None
-
-
-
def gdbLaunch():
global gdbterm, mainctrlwnd, statuswnd, gdbBps, clientcmd, gdbthread
print "No command given!"
return
- gdbterm, mainctrlwnd, statuswnd = pygdb.launchDebugger(clientcmd, False)
-
+ #Add the breakpoints to the configuration
+ conf = Configuration.Configuration()
+ conf.load(".pygdb.conf")
for bp in gdbBps:
- statuswnd.breakpointsFrame.addBreakpoint(bp["file"], bp["lineno"], bp["cond"])
-
- print "Started dbg session."
- gtk.main()
- print "Finished dbg session."
+ conf.addBreak(bp["file"], bp["lineno"], bp["cond"])
+ conf.store(".pygdb.conf")
+
+ vim.command("!python %s/pygdb.py %s &\n" % (pygdbdir, clientcmd))
def gdbToggleBreakpoint(lineno=None, file=None):