summaryrefslogtreecommitdiff
path: root/src/plugins
diff options
context:
space:
mode:
authorDavid Schulz <david.schulz@qt.io>2018-01-23 12:55:31 +0100
committerDavid Schulz <david.schulz@qt.io>2018-01-23 13:08:25 +0000
commit01bc302c48334b433f66c01b0694756025148908 (patch)
tree6122ab822774ef6e0b6ce54741a3596210ec170c /src/plugins
parent4947781bba321f66b0e556dff96bad21fa115dfc (diff)
downloadqt-creator-01bc302c48334b433f66c01b0694756025148908.tar.gz
Debugger: Do not add CrtDbgReport breakpoints for vc19
The symbol isn't safely resolvable and can lead to unwanted breaks. Task-number: QTCREATORBUG-19628 Change-Id: Iaa58b12cb826a9e20faa64454e806ecab9d613f3 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/debugger/cdb/cdbengine.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/plugins/debugger/cdb/cdbengine.cpp b/src/plugins/debugger/cdb/cdbengine.cpp
index 3b3ec7d08e..31e10d0bc0 100644
--- a/src/plugins/debugger/cdb/cdbengine.cpp
+++ b/src/plugins/debugger/cdb/cdbengine.cpp
@@ -649,12 +649,17 @@ void CdbEngine::runEngine()
// else the debugger will slow down considerably.
const auto cb = [this](const DebuggerResponse &r) { handleBreakInsert(r, BreakpointModelId()); };
if (boolSetting(CdbBreakOnCrtDbgReport)) {
- const QString module = msvcRunTime(runParameters().toolChainAbi.osFlavor());
- const QString debugModule = module + 'D';
- const QString wideFunc = QString::fromLatin1(CdbOptionsPage::crtDbgReport).append('W');
- runCommand({breakAtFunctionCommand(QLatin1String(CdbOptionsPage::crtDbgReport), module), BuiltinCommand, cb});
- runCommand({breakAtFunctionCommand(wideFunc, module), BuiltinCommand, cb});
- runCommand({breakAtFunctionCommand(QLatin1String(CdbOptionsPage::crtDbgReport), debugModule), BuiltinCommand, cb});
+ Abi::OSFlavor flavor = runParameters().toolChainAbi.osFlavor();
+ // CrtDebugReport can not be safely resolved for vc 19
+ if ((flavor > Abi::WindowsMsvc2005Flavor && flavor <= Abi::WindowsMsvc2013Flavor) ||
+ flavor > Abi::WindowsMSysFlavor || flavor <= Abi::WindowsCEFlavor) {
+ const QString module = msvcRunTime(flavor);
+ const QString debugModule = module + 'D';
+ const QString wideFunc = QString::fromLatin1(CdbOptionsPage::crtDbgReport).append('W');
+ runCommand({breakAtFunctionCommand(QLatin1String(CdbOptionsPage::crtDbgReport), module), BuiltinCommand, cb});
+ runCommand({breakAtFunctionCommand(wideFunc, module), BuiltinCommand, cb});
+ runCommand({breakAtFunctionCommand(QLatin1String(CdbOptionsPage::crtDbgReport), debugModule), BuiltinCommand, cb});
+ }
}
// if (boolSetting(BreakOnWarning)) {
// runCommand({"bm /( QtCored4!qWarning", BuiltinCommand}); // 'bm': All overloads.