forked from qt-creator/qt-creator
Debugger: Hide PdbEngine infrastructure from itself
Debuggers running inside the debugged application are weird. Change-Id: I2452e3653221c8f585123852ea113bd2fdfd08ed Reviewed-by: hjk <hjk@theqtcompany.com>
This commit is contained in:
@@ -5,7 +5,8 @@ import linecache
|
||||
import inspect
|
||||
import os
|
||||
|
||||
class Dumper:
|
||||
def qdebug(cmd, args):
|
||||
class Dumper:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
@@ -273,12 +274,7 @@ class Dumper:
|
||||
sys.stdout.write("@\n" + stuff + "@\n")
|
||||
sys.stdout.flush()
|
||||
|
||||
def qdebug(options = None,
|
||||
expanded = None,
|
||||
typeformats = None,
|
||||
individualformats = None,
|
||||
watchers = None):
|
||||
sys.stdout.write("\n(Pdb)\n")
|
||||
sys.stdout.flush()
|
||||
|
||||
theDumper = Dumper()
|
||||
d = Dumper()
|
||||
method = getattr(d, cmd)
|
||||
method(args)
|
||||
|
@@ -135,7 +135,7 @@ void PdbEngine::postCommand(const QByteArray &command, DebuggerCommand::Callback
|
||||
void PdbEngine::runCommand(const DebuggerCommand &cmd)
|
||||
{
|
||||
QTC_ASSERT(m_pdbProc.state() == QProcess::Running, notifyEngineIll());
|
||||
QByteArray command = "theDumper." + cmd.function + "({" + cmd.args + "})";
|
||||
QByteArray command = "qdebug('" + cmd.function + "',{" + cmd.args + "})";
|
||||
showMessage(_(command), LogInput);
|
||||
m_pdbProc.write(command + '\n');
|
||||
}
|
||||
@@ -734,8 +734,7 @@ void PdbEngine::handleUpdateAll(const DebuggerResponse &response)
|
||||
|
||||
void PdbEngine::updateAll()
|
||||
{
|
||||
postCommand("dir()");
|
||||
postCommand("theDumper.stackListFrames({})");
|
||||
postCommand("qdebug('stackListFrames',{})");
|
||||
updateLocals();
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user