summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp4
-rw-r--r--src/plugins/debugger/debuggermanager.cpp3
-rw-r--r--src/plugins/debugger/shared/dbgwinutils.cpp19
3 files changed, 9 insertions, 17 deletions
diff --git a/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp b/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp
index e5862b584d..d4850e8e6e 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 70c02b886f..4339a0f29d 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 104e1f1b4f..d669665305 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;
}