diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp index dba2e7b8e33..37be2f653ff 100644 --- a/src/plugins/debugger/cdb/cdbengine.cpp +++ b/src/plugins/debugger/cdb/cdbengine.cpp @@ -657,7 +657,8 @@ void CdbEngine::setupInferior() + " maxStackDepth=" + action(MaximalStackDepth)->value().toString(), NoFlags}); - runCommand({"print(sys.version)", ScriptCommand, CB(setupScripting)}); + if (boolSetting(CdbUsePythonDumper)) + runCommand({"print(sys.version)", ScriptCommand, CB(setupScripting)}); runCommand({"pid", ExtensionCommand, [this](const DebuggerResponse &response) { // Fails for core dumps. diff --git a/src/plugins/debugger/cdb/cdboptionspage.cpp b/src/plugins/debugger/cdb/cdboptionspage.cpp index b5093991f29..92dfba966c2 100644 --- a/src/plugins/debugger/cdb/cdboptionspage.cpp +++ b/src/plugins/debugger/cdb/cdboptionspage.cpp @@ -182,6 +182,7 @@ CdbOptionsPageWidget::CdbOptionsPageWidget(QWidget *parent) group.insert(action(CdbBreakOnCrtDbgReport), m_ui.breakCrtDbgReportCheckBox); group.insert(action(UseCdbConsole), m_ui.consoleCheckBox); group.insert(action(CdbBreakPointCorrection), m_ui.breakpointCorrectionCheckBox); + group.insert(action(CdbUsePythonDumper), m_ui.usePythonDumper); group.insert(action(IgnoreFirstChanceAccessViolation), m_ui.ignoreFirstChanceAccessViolationCheckBox); diff --git a/src/plugins/debugger/cdb/cdboptionspagewidget.ui b/src/plugins/debugger/cdb/cdboptionspagewidget.ui index 457123277fd..ceffec4f568 100644 --- a/src/plugins/debugger/cdb/cdboptionspagewidget.ui +++ b/src/plugins/debugger/cdb/cdboptionspagewidget.ui @@ -89,6 +89,13 @@ + + + + Use Python dumper when available + + + diff --git a/src/plugins/debugger/debuggeractions.cpp b/src/plugins/debugger/debuggeractions.cpp index 4e4b28bd618..548cec0555b 100644 --- a/src/plugins/debugger/debuggeractions.cpp +++ b/src/plugins/debugger/debuggeractions.cpp @@ -226,6 +226,12 @@ DebuggerSettings::DebuggerSettings() item->setSettingsKey(cdbSettingsGroup, QLatin1String("BreakpointCorrection")); insertItem(CdbBreakPointCorrection, item); + item = new SavedAction(this); + item->setCheckable(true); + item->setDefaultValue(true); + item->setSettingsKey(cdbSettingsGroup, QLatin1String("UsePythonDumper")); + insertItem(CdbUsePythonDumper, item); + item = new SavedAction(this); item->setCheckable(true); item->setDefaultValue(false); diff --git a/src/plugins/debugger/debuggeractions.h b/src/plugins/debugger/debuggeractions.h index 4cf54ea50c4..e6bc2e9c4f3 100644 --- a/src/plugins/debugger/debuggeractions.h +++ b/src/plugins/debugger/debuggeractions.h @@ -116,6 +116,7 @@ enum DebuggerActionCode CdbBreakOnCrtDbgReport, UseCdbConsole, CdbBreakPointCorrection, + CdbUsePythonDumper, IgnoreFirstChanceAccessViolation, // Gdb