diff options
author | David Schulz <david.schulz@qt.io> | 2017-12-13 14:20:49 +0100 |
---|---|---|
committer | David Schulz <david.schulz@qt.io> | 2017-12-20 09:32:18 +0000 |
commit | b2052561cca185ca18b114110ae401ad9cb43aec (patch) | |
tree | 5509f14d6aeaf5a5d8414570e54adeb347a3f7a0 /src | |
parent | 83e01b47779aed20385149e6e68eaf4dd4b1b23a (diff) |
Debugger: improve evaluate expression with cdb
Replace Evaluate with AddSymbol and create a PyValue representing
that expression
Change-Id: Ibb8ab70c41df81e9d7d683b633a070caa03036d3
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/libs/qtcreatorcdbext/pycdbextmodule.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libs/qtcreatorcdbext/pycdbextmodule.cpp b/src/libs/qtcreatorcdbext/pycdbextmodule.cpp index 2b807d18ace..ef47f383687 100644 --- a/src/libs/qtcreatorcdbext/pycdbextmodule.cpp +++ b/src/libs/qtcreatorcdbext/pycdbextmodule.cpp @@ -106,12 +106,13 @@ static PyObject *cdbext_parseAndEvaluate(PyObject *, PyObject *args) // -> Value ULONG oldExpressionSyntax; control->GetExpressionSyntax(&oldExpressionSyntax); control->SetExpressionSyntax(DEBUG_EXPR_CPLUSPLUS); - DEBUG_VALUE value; - HRESULT hr = control->Evaluate(expr, DEBUG_VALUE_INT64, &value, NULL); + IDebugSymbolGroup2 *symbolGroup = CurrentSymbolGroup::get(); + ULONG index = DEBUG_ANY_ID; + HRESULT hr = symbolGroup->AddSymbol(expr, &index); control->SetExpressionSyntax(oldExpressionSyntax); if (FAILED(hr)) Py_RETURN_NONE; - return Py_BuildValue("K", value.I64); + return createPythonObject(PyValue(index, symbolGroup)); } static PyObject *cdbext_resolveSymbol(PyObject *, PyObject *args) // -> Value |