diff --git a/scripts/cdb/cdb.py b/scripts/cdb/cdb.py index 5eb2eb3..614d6b3 100644 --- a/scripts/cdb/cdb.py +++ b/scripts/cdb/cdb.py @@ -32,5 +32,6 @@ while True: cmdline= input('(cdb)').strip() try: cmd.processCmd(browser, tab, scriptmgr, cmdline) + time.sleep(0.1) except Exception as e: print(e) diff --git a/scripts/cdb/scriptmgr.py b/scripts/cdb/scriptmgr.py index 9e30166..3ebe2ac 100644 --- a/scripts/cdb/scriptmgr.py +++ b/scripts/cdb/scriptmgr.py @@ -1,5 +1,6 @@ import json +import pprint def getShortUrl(url): return url.replace('http://localhost:7456/', '') @@ -16,6 +17,7 @@ class ScriptMgr: self.tab.set_listener('Debugger.paused', self.onPaused) self.tab.set_listener('Debugger.resumed', self.onResumed) self.tab.set_listener('Debugger.scriptFailedToParse', self.onScriptFailedToParse) + self.tab.set_listener('Runtime.consoleAPICalled', self.consoleAPICalled) def onScriptParsed(self, **kwargs): self.scripts.append(kwargs) @@ -24,10 +26,16 @@ class ScriptMgr: print('onBreakpointResolved') def onPaused(self, **kwargs): - print('onPaused') +# print('onPaused') self.frames = [] for frame in kwargs['callFrames']: self.frames.append(frame) + pprint.pprint('%s:%d' % + ( + getShortUrl(self.frames[0]['url']), + self.frames[0]['location']['lineNumber'] + ) + ) def onResumed(self, **kwargs): print('onResumed') @@ -35,6 +43,13 @@ class ScriptMgr: def onScriptFailedToParse(self, **kwargs): print('onScriptFailedToParse', kwargs['url']) + def consoleAPICalled(self, **kwargs): + for prop in kwargs['args']: + if prop['type'] == 'object': + pprint.pprint(prop['preview']['properties']) + else: + print('%s' % (str(prop['value']))) + def getUrl(self, filename): for script in self.scripts: if filename in script['url']: