forked from qt-creator/qt-creator
Debugger: Do not waste CPU when using LLDB
Fixes: QTCREATORBUG-23311 Change-Id: I5b1c40663c7977322e806af2e0393a3730e70049 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -29,6 +29,7 @@ import platform
|
||||
import re
|
||||
import sys
|
||||
import threading
|
||||
import time
|
||||
import lldb
|
||||
|
||||
from contextlib import contextmanager
|
||||
@@ -953,14 +954,16 @@ class Dumper(DumperBase):
|
||||
|
||||
def loop(self):
|
||||
event = lldb.SBEvent()
|
||||
broadcaster = self.target.GetBroadcaster()
|
||||
#broadcaster = self.target.GetBroadcaster()
|
||||
listener = self.debugger.GetListener()
|
||||
|
||||
while True:
|
||||
sys.stdout.flush() # IMPORTANT! to receive process state changes with lldb 1100
|
||||
while listener.GetNextEvent(event):
|
||||
self.handleEvent(event)
|
||||
if listener.WaitForEventForBroadcaster(0, broadcaster, event):
|
||||
self.handleEvent(event)
|
||||
time.sleep(0.25)
|
||||
|
||||
#if listener.WaitForEventForBroadcaster(0, broadcaster, event):
|
||||
# self.handleEvent(event)
|
||||
|
||||
|
||||
def describeError(self, error):
|
||||
|
@@ -203,7 +203,9 @@ void LldbEngine::setupEngine()
|
||||
const FilePath lldbCmd = runParameters().debugger.executable;
|
||||
|
||||
showMessage("STARTING LLDB: " + lldbCmd.toUserOutput());
|
||||
m_lldbProc.setEnvironment(runParameters().debugger.environment);
|
||||
Environment environment = runParameters().debugger.environment;
|
||||
environment.appendOrSet("PYTHONUNBUFFERED", "1"); // avoid flushing problem on macOS
|
||||
m_lldbProc.setEnvironment(environment);
|
||||
if (QFileInfo(runParameters().debugger.workingDirectory).isDir())
|
||||
m_lldbProc.setWorkingDirectory(runParameters().debugger.workingDirectory);
|
||||
|
||||
|
Reference in New Issue
Block a user