diff --git a/src/libs/qtcreatorcdbext/qtcreatorcdbextension.cpp b/src/libs/qtcreatorcdbext/qtcreatorcdbextension.cpp index 2ceac6dd711..61c41de7615 100644 --- a/src/libs/qtcreatorcdbext/qtcreatorcdbextension.cpp +++ b/src/libs/qtcreatorcdbext/qtcreatorcdbextension.cpp @@ -700,7 +700,8 @@ static std::string dumplocalHelper(ExtensionCommandContext &exc,PCSTR args, int return std::string(); } std::wstring value; - if (!dumpSimpleType(n->asSymbolGroupNode(), SymbolGroupValueContext(exc.dataSpaces(), exc.symbols()), &value, &std::string())) { + std::string tmp; + if (!dumpSimpleType(n->asSymbolGroupNode(), SymbolGroupValueContext(exc.dataSpaces(), exc.symbols()), &value, &tmp)) { *errorMessage = "Cannot dump " + iname; return std::string(); } diff --git a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp index cd55cc712c5..14c3732678b 100644 --- a/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp +++ b/src/libs/qtcreatorcdbext/symbolgroupvalue.cpp @@ -228,8 +228,9 @@ SymbolAncestorInfo SymbolGroupValue::infoOfAncestor(const std::string &name) con SymbolGroupValue SymbolGroupValue::addSymbol(const ULONG64 address, const std::string &type) const { const std::string &pointerToType = pointedToSymbolName(address, type); + std::string tmp; if (SymbolGroupNode *ancestorNode = - node()->symbolGroup()->addSymbol(module(), pointerToType, "", "", &std::string())) { + node()->symbolGroup()->addSymbol(module(), pointerToType, "", "", &tmp)) { return SymbolGroupValue(ancestorNode, m_context); } if (isValid() && SymbolGroupValue::verbose) { // Do not report subsequent errors @@ -2064,8 +2065,9 @@ static inline bool dumpQRegion(const SymbolGroupValue &v, std::wostream &str, vo namestr << "(" << info.prependQtGuiModule("QRegionPrivate *") << ")(" << std::showbase << std::hex << d.pointerValue() << ')'; + std::string tmp; SymbolGroupNode *qRegionPrivateNode - = v.node()->symbolGroup()->addSymbol(v.module(), namestr.str(), std::string(), &std::string()); + = v.node()->symbolGroup()->addSymbol(v.module(), namestr.str(), std::string(), &tmp); if (!qRegionPrivateNode) return false; @@ -2128,14 +2130,15 @@ static inline bool dumpQHostAddress(const SymbolGroupValue &v, std::wostream &st std::ostringstream namestr; namestr << '(' << info.prependQtNetworkModule("QHostAddressPrivate *") << ")(" << std::showbase << std::hex << d.pointerValue() << ')'; + std::string tmp; SymbolGroupNode *qHostAddressPrivateNode - = v.node()->symbolGroup()->addSymbol(v.module(), namestr.str(), std::string(), &std::string()); + = v.node()->symbolGroup()->addSymbol(v.module(), namestr.str(), std::string(), &tmp); if (!qHostAddressPrivateNode) return false; const SymbolGroupValue qHostAddressPrivateValue = SymbolGroupValue(qHostAddressPrivateNode, v.context()); const bool parsed = readPODFromMemory(qHostAddressPrivateValue.context().dataspaces, qHostAddressPrivateValue["isParsed"].address(), - sizeof(bool), false, &std::string()); + sizeof(bool), false, &tmp); if (parsed) { const int protocol = qHostAddressPrivateValue["protocol"].intValue(-1); if (protocol < 0) { @@ -2888,7 +2891,8 @@ static bool dumpQVariant(const SymbolGroupValue &v, std::wostream &str, std::str if (const SymbolGroupValue mv = dataV.typeCast(vmType.c_str())) { SymbolGroupNode *mapNode = mv.node(); std::wstring value; - if (dumpSimpleType(mapNode, dataV.context(), &value, &std::string()) + std::string tmp; + if (dumpSimpleType(mapNode, dataV.context(), &value, &tmp) == SymbolGroupNode::SimpleDumperOk) { str << value; if (specialInfoIn) @@ -2903,7 +2907,8 @@ static bool dumpQVariant(const SymbolGroupValue &v, std::wostream &str, std::str if (const SymbolGroupValue vl = dataV.typeCast(vLType.c_str())) { SymbolGroupNode *vListNode = vl.node(); std::wstring value; - if (dumpSimpleType(vListNode, dataV.context(), &value, &std::string()) + std::string tmp; + if (dumpSimpleType(vListNode, dataV.context(), &value, &tmp) == SymbolGroupNode::SimpleDumperOk) { str << value; if (specialInfoIn) @@ -2929,7 +2934,8 @@ static bool dumpQVariant(const SymbolGroupValue &v, std::wostream &str, std::str if (const SymbolGroupValue sl = dataV.typeCast(qtInfo.prependQtCoreModule("QStringList *").c_str())) { SymbolGroupNode *listNode = sl.node(); std::wstring value; - if (dumpSimpleType(listNode, dataV.context(), &value, &std::string()) + std::string tmp; + if (dumpSimpleType(listNode, dataV.context(), &value, &tmp) == SymbolGroupNode::SimpleDumperOk) { str << value; if (specialInfoIn) diff --git a/src/plugins/debugger/shared/hostutils.cpp b/src/plugins/debugger/shared/hostutils.cpp index 4f2fad99c6c..5a65d5a6ea7 100644 --- a/src/plugins/debugger/shared/hostutils.cpp +++ b/src/plugins/debugger/shared/hostutils.cpp @@ -193,7 +193,7 @@ bool isDebuggerWinException(unsigned long code) return code == EXCEPTION_BREAKPOINT || code == EXCEPTION_SINGLE_STEP; } -bool isFatalWinException(long code) +bool isFatalWinException(unsigned long code) { switch (code) { case EXCEPTION_BREAKPOINT: @@ -217,7 +217,7 @@ bool winResumeThread(unsigned long, QString *) { return false; } bool isWinProcessBeingDebugged(unsigned long) { return false; } void formatWindowsException(unsigned long , quint64, unsigned long, quint64, quint64, QTextStream &) { } -bool isFatalWinException(long) { return false; } +bool isFatalWinException(unsigned long) { return false; } bool isDebuggerWinException(unsigned long) { return false; } #endif // !Q_OS_WIN diff --git a/src/plugins/debugger/shared/hostutils.h b/src/plugins/debugger/shared/hostutils.h index 33485308670..1f35233dc04 100644 --- a/src/plugins/debugger/shared/hostutils.h +++ b/src/plugins/debugger/shared/hostutils.h @@ -40,7 +40,7 @@ bool winResumeThread(unsigned long dwThreadId, QString *errorMessage); bool isWinProcessBeingDebugged(unsigned long pid); // Special exception codes. -enum +enum : unsigned long { winExceptionCppException = 0xe06d7363, winExceptionSetThreadName = 0x406d1388, @@ -60,7 +60,7 @@ void formatWindowsException(unsigned long code, quint64 address, unsigned long flags, quint64 info1, quint64 info2, QTextStream &str); // Check for access violation, etc. -bool isFatalWinException(long code); +bool isFatalWinException(unsigned long code); // Check for EXCEPTION_BREAKPOINT, EXCEPTION_SINGLE_STEP bool isDebuggerWinException(unsigned long code);