diff --git a/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp b/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp index e5862b584d1956c2074d2c68033a86327736bb78..d4850e8e6e9c04e706ee0e55d9f2f6c3f3a3a810 100644 --- a/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp +++ b/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp @@ -234,7 +234,7 @@ bool WatchHandleDumperInserter::expandPointerToDumpable(const WatchData &wd, QSt const QString type = stripPointerType(wd.type); WatchData derefedWd; derefedWd.setType(type); - derefedWd.setAddress(hexAddrS); + derefedWd.setAddress(hexAddrS.toLatin1()); derefedWd.name = QString(QLatin1Char('*')); derefedWd.iname = wd.iname + ".*"; derefedWd.source = OwnerDumper | CdbSymbolGroupContext::ChildrenKnownBit; @@ -376,7 +376,7 @@ unsigned CdbSymbolGroupContext::watchDataAt(unsigned long index, WatchData *wd) wd->iname.remove(openingBracketPos, 1); } } - wd->setAddress(QString::fromLatin1("0x") + QString::number(address, 16)); + wd->setAddress(("0x") + QByteArray::number(address, 16)); wd->setType(type, false); wd->setValue(fixValue(value, type)); if (rc & OutOfScope) { diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp index 70c02b886ffc4a9986b9708ed09e18b9417f5ed7..4339a0f29dff8810cf2b5606a8b5ccabf00a747f 100644 --- a/src/plugins/debugger/debuggermanager.cpp +++ b/src/plugins/debugger/debuggermanager.cpp @@ -1055,7 +1055,8 @@ void DebuggerManager::startNewDebugger(const DebuggerStartParametersPtr &sp) d->m_engine = debuggerEngineForExecutable(d->m_startParameters->executable, &errorMessage, &settingsIdHint); if (d->m_engine == 0 - && (startMode == AttachExternal || startMode == AttachCrashedExternal)) + && (startMode == AttachExternal || startMode == AttachCrashedExternal + || startMode == AttachCore)) d->m_engine = debuggerEngineForAttach(&errorMessage); if (!d->m_engine) { diff --git a/src/plugins/debugger/shared/dbgwinutils.cpp b/src/plugins/debugger/shared/dbgwinutils.cpp index 104e1f1b4fab38c564a42505bcdadd3c56594572..d669665305b718994bd35dde90d17219e7a12ec1 100644 --- a/src/plugins/debugger/shared/dbgwinutils.cpp +++ b/src/plugins/debugger/shared/dbgwinutils.cpp @@ -35,18 +35,15 @@ #include <windows.h> #include <tlhelp32.h> #include <psapi.h> - -#ifdef __GNUC__ -# include <QtCore/QLibrary> -#endif +#include <QtCore/QLibrary> namespace Debugger { namespace Internal { -#ifdef __GNUC__ // Resolve QueryFullProcessImageNameW out of kernel32.dll due -// to incomplete MinGW import libs. -static inline BOOL minGW_QueryFullProcessImageName(HANDLE h, +// to incomplete MinGW import libs and it not being present +// on Windows XP. +static inline BOOL queryFullProcessImageName(HANDLE h, DWORD flags, LPWSTR buffer, DWORD *size) @@ -65,7 +62,6 @@ static inline BOOL minGW_QueryFullProcessImageName(HANDLE h, // Read out process return (*queryFullProcessImageNameW)(h, flags, buffer, size); } -#endif static inline QString imageName(DWORD processId) { @@ -75,13 +71,8 @@ static inline QString imageName(DWORD processId) return rc; WCHAR buffer[MAX_PATH]; DWORD bufSize = MAX_PATH; -#ifdef __GNUC__ - if (minGW_QueryFullProcessImageName(handle, 0, buffer, &bufSize)) + if (queryFullProcessImageName(handle, 0, buffer, &bufSize)) rc = QString::fromUtf16(reinterpret_cast<const ushort*>(buffer)); -#else - if (QueryFullProcessImageNameW(handle, 0, buffer, &bufSize)) - rc = QString::fromUtf16(buffer); -#endif CloseHandle(handle); return rc; }