diff --git a/doc/qtcreator.qdoc b/doc/qtcreator.qdoc index 198aad2ed463f5a23c921b1b68491a3d9905e869..c7de2e6d76def0e83e319226d541260a3706b58b 100644 --- a/doc/qtcreator.qdoc +++ b/doc/qtcreator.qdoc @@ -1297,7 +1297,10 @@ When building \e{Qt Creator} using the \e{Microsoft Visual C++ Compiler}, the location \c{"%ProgramFiles%\Debugging Tools for Windows"} will be checked for the required include files. - \ + + \note As of version 1.2, the command line option \c{-enable-cdb} has to be passed + to Qt Creator to enable support for this engine. + \endtable */ diff --git a/src/plugins/debugger/Debugger.pluginspec b/src/plugins/debugger/Debugger.pluginspec index 497520d69aa966d6ca81282b01165bf1444f166d..da8d04450ff51011b6a4c109238193a8b2128f55 100644 --- a/src/plugins/debugger/Debugger.pluginspec +++ b/src/plugins/debugger/Debugger.pluginspec @@ -24,4 +24,7 @@ will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.</license> <dependency name="Core" version="1.1.80"/> <dependency name="Find" version="1.1.80"/> </dependencyList> + <argumentList> + <argument name="-enable-cdb"/> + </argumentList> </plugin> diff --git a/src/plugins/debugger/debuggermanager.cpp b/src/plugins/debugger/debuggermanager.cpp index 5f8f07aed0ec993e4049ddf7d2e5f763a630f2eb..fc5f3371f57f07245bc78df45c06140a0c0cc302 100644 --- a/src/plugins/debugger/debuggermanager.cpp +++ b/src/plugins/debugger/debuggermanager.cpp @@ -148,9 +148,9 @@ extern IDebuggerEngine *createWinEngine(DebuggerManager *) #endif extern IDebuggerEngine *createScriptEngine(DebuggerManager *parent); -DebuggerManager::DebuggerManager() +DebuggerManager::DebuggerManager(const QStringList &arguments) { - init(); + init(arguments); } DebuggerManager::~DebuggerManager() @@ -160,7 +160,7 @@ DebuggerManager::~DebuggerManager() delete scriptEngine; } -void DebuggerManager::init() +void DebuggerManager::init(const QStringList &arguments) { m_status = -1; m_busy = false; @@ -427,7 +427,8 @@ void DebuggerManager::init() setStatus(DebuggerProcessNotReady); gdbEngine = createGdbEngine(this); - winEngine = createWinEngine(this); + if (arguments.contains(QLatin1String("-enable-cdb"))) + winEngine = createWinEngine(this); scriptEngine = createScriptEngine(this); setDebuggerType(GdbDebugger); if (Debugger::Constants::Internal::debug) diff --git a/src/plugins/debugger/debuggermanager.h b/src/plugins/debugger/debuggermanager.h index b9709a68fa59f1fe498b8af4b191b2722c81b53c..b6cf4b78f4022e3df4e8df56f6a1a18cbae40888 100644 --- a/src/plugins/debugger/debuggermanager.h +++ b/src/plugins/debugger/debuggermanager.h @@ -178,7 +178,7 @@ class DebuggerManager : public QObject, Q_OBJECT public: - DebuggerManager(); + DebuggerManager(const QStringList &arguments); ~DebuggerManager(); IDebuggerManagerAccessForEngines *engineInterface(); @@ -341,7 +341,7 @@ public: bool m_useTerminal; private: - void init(); + void init(const QStringList &arguments); void setDebuggerType(DebuggerType type); void runTest(const QString &fileName); QDockWidget *createDockForWidget(QWidget *widget); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 8a1cb6baca77baba3ed1206640ec2c2c11c5a9d9..90cb7bd1f790047bb6626f159e692aa229488992 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -470,7 +470,7 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess Q_UNUSED(arguments); Q_UNUSED(errorMessage); - m_manager = new DebuggerManager; + m_manager = new DebuggerManager(arguments); ICore *core = ICore::instance(); QTC_ASSERT(core, return false);