summaryrefslogtreecommitdiffstats
path: root/lldb/utils/lui/debuggerdriver.py
diff options
context:
space:
mode:
authorJonas Devlieghere <jonas@devlieghere.com>2019-07-23 17:23:36 +0000
committerJonas Devlieghere <jonas@devlieghere.com>2019-07-23 17:23:36 +0000
commit6491076ec6800f54a8b1d09a95566b36db00f99d (patch)
treefaee8f559629a7acaf38aac7d03522cfe49b7d3e /lldb/utils/lui/debuggerdriver.py
parent6f13637a3e130980456f37647f7628aa7fa7a2b6 (diff)
downloadbcm5719-llvm-6491076ec6800f54a8b1d09a95566b36db00f99d.tar.gz
bcm5719-llvm-6491076ec6800f54a8b1d09a95566b36db00f99d.zip
[Utils] Remove legacy scripts
As pointed out by Nathan in D65155, these scrips don't seem to serve any real need anymore. llvm-svn: 366827
Diffstat (limited to 'lldb/utils/lui/debuggerdriver.py')
-rw-r--r--lldb/utils/lui/debuggerdriver.py142
1 files changed, 0 insertions, 142 deletions
diff --git a/lldb/utils/lui/debuggerdriver.py b/lldb/utils/lui/debuggerdriver.py
deleted file mode 100644
index f94ce5face7..00000000000
--- a/lldb/utils/lui/debuggerdriver.py
+++ /dev/null
@@ -1,142 +0,0 @@
-##===-- debuggerdriver.py ------------------------------------*- Python -*-===##
-##
-# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-# See https://llvm.org/LICENSE.txt for license information.
-# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-##
-##===----------------------------------------------------------------------===##
-
-
-import lldb
-import lldbutil
-import sys
-from threading import Thread
-
-
-class DebuggerDriver(Thread):
- """ Drives the debugger and responds to events. """
-
- def __init__(self, debugger, event_queue):
- Thread.__init__(self)
- self.event_queue = event_queue
- # This is probably not great because it does not give liblldb a chance
- # to clean up
- self.daemon = True
- self.initialize(debugger)
-
- def initialize(self, debugger):
- self.done = False
- self.debugger = debugger
- self.listener = debugger.GetListener()
- if not self.listener.IsValid():
- raise "Invalid listener"
-
- self.listener.StartListeningForEventClass(self.debugger,
- lldb.SBTarget.GetBroadcasterClassName(),
- lldb.SBTarget.eBroadcastBitBreakpointChanged
- #| lldb.SBTarget.eBroadcastBitModuleLoaded
- #| lldb.SBTarget.eBroadcastBitModuleUnloaded
- | lldb.SBTarget.eBroadcastBitWatchpointChanged
- #| lldb.SBTarget.eBroadcastBitSymbolLoaded
- )
-
- self.listener.StartListeningForEventClass(self.debugger,
- lldb.SBThread.GetBroadcasterClassName(),
- lldb.SBThread.eBroadcastBitStackChanged
- # lldb.SBThread.eBroadcastBitBreakpointChanged
- | lldb.SBThread.eBroadcastBitThreadSuspended
- | lldb.SBThread.eBroadcastBitThreadResumed
- | lldb.SBThread.eBroadcastBitSelectedFrameChanged
- | lldb.SBThread.eBroadcastBitThreadSelected
- )
-
- self.listener.StartListeningForEventClass(self.debugger,
- lldb.SBProcess.GetBroadcasterClassName(),
- lldb.SBProcess.eBroadcastBitStateChanged
- | lldb.SBProcess.eBroadcastBitInterrupt
- | lldb.SBProcess.eBroadcastBitSTDOUT
- | lldb.SBProcess.eBroadcastBitSTDERR
- | lldb.SBProcess.eBroadcastBitProfileData
- )
- self.listener.StartListeningForEventClass(self.debugger,
- lldb.SBCommandInterpreter.GetBroadcasterClass(),
- lldb.SBCommandInterpreter.eBroadcastBitThreadShouldExit
- | lldb.SBCommandInterpreter.eBroadcastBitResetPrompt
- | lldb.SBCommandInterpreter.eBroadcastBitQuitCommandReceived
- | lldb.SBCommandInterpreter.eBroadcastBitAsynchronousOutputData
- | lldb.SBCommandInterpreter.eBroadcastBitAsynchronousErrorData
- )
-
- def createTarget(self, target_image, args=None):
- self.handleCommand("target create %s" % target_image)
- if args is not None:
- self.handleCommand("settings set target.run-args %s" % args)
-
- def attachProcess(self, pid):
- self.handleCommand("process attach -p %d" % pid)
- pass
-
- def loadCore(self, corefile):
- self.handleCommand("target create -c %s" % corefile)
- pass
-
- def setDone(self):
- self.done = True
-
- def isDone(self):
- return self.done
-
- def getPrompt(self):
- return self.debugger.GetPrompt()
-
- def getCommandInterpreter(self):
- return self.debugger.GetCommandInterpreter()
-
- def getSourceManager(self):
- return self.debugger.GetSourceManager()
-
- def setSize(self, width, height):
- # FIXME: respect height
- self.debugger.SetTerminalWidth(width)
-
- def getTarget(self):
- return self.debugger.GetTargetAtIndex(0)
-
- def handleCommand(self, cmd):
- ret = lldb.SBCommandReturnObject()
- self.getCommandInterpreter().HandleCommand(cmd, ret)
- return ret
-
- def eventLoop(self):
- while not self.isDone():
- event = lldb.SBEvent()
- got_event = self.listener.WaitForEvent(lldb.UINT32_MAX, event)
- if got_event and not event.IsValid():
- self.winAddStr("Warning: Invalid or no event...")
- continue
- elif not event.GetBroadcaster().IsValid():
- continue
-
- self.event_queue.put(event)
-
- def run(self):
- self.eventLoop()
-
- def terminate(self):
- lldb.SBDebugger.Terminate()
- sys.exit(0)
-
-
-def createDriver(debugger, event_queue):
- driver = DebuggerDriver(debugger, event_queue)
- # driver.start()
- # if pid specified:
- # - attach to pid
- # else if core file specified
- # - create target from corefile
- # else
- # - create target from file
- # - settings append target.run-args <args-from-cmdline>
- # source .lldbinit file
-
- return driver
OpenPOWER on IntegriCloud