aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/debuggerplugin.h
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2009-05-25 16:22:11 +0200
committerFriedemann Kleint <Friedemann.Kleint@nokia.com>2009-05-25 16:22:11 +0200
commitc4a0abcda7b11577621dbe93ae1225b586e2033e (patch)
tree568b2ab8c802f47e0f3c840939e9e83a104b4c12 /src/plugins/debugger/debuggerplugin.h
parent2eb2a382e52a2f7b75465cd4c9cf0bf5459d0c79 (diff)
Enabled passing on PIDs from the command line to the debugger.
Introduced struct DebuggerStartParameters to pass around start parameters, removing the need for the engines to access private members of DebuggerManager. Pass it to DebuggerManager::startNewDebugger() and move the GUI parts of that function into DebuggerPlugin, making it possible to create the struct from command line parameters. Introduce command line parsing with a few more -enable-xx options. Introduce warning() to debugger panel in the CDB engine. On this occasion, clean out a few trailing whitespaces.
Diffstat (limited to 'src/plugins/debugger/debuggerplugin.h')
-rw-r--r--src/plugins/debugger/debuggerplugin.h21
1 files changed, 16 insertions, 5 deletions
diff --git a/src/plugins/debugger/debuggerplugin.h b/src/plugins/debugger/debuggerplugin.h
index c022e3a0ab..082a01e016 100644
--- a/src/plugins/debugger/debuggerplugin.h
+++ b/src/plugins/debugger/debuggerplugin.h
@@ -33,6 +33,7 @@
#include <extensionsystem/iplugin.h>
#include <QtCore/QObject>
+#include <QtCore/QStringList>
QT_BEGIN_NAMESPACE
class QAbstractItemView;
@@ -69,9 +70,11 @@ public:
~DebuggerPlugin();
private:
- bool initialize(const QStringList &arguments, QString *error_message);
- void shutdown();
- void extensionsInitialized();
+ virtual bool initialize(const QStringList &arguments, QString *error_message);
+ virtual void shutdown();
+ virtual void extensionsInitialized();
+
+ QVariant configValue(const QString &name) const;
private slots:
void activatePreviousMode();
@@ -90,7 +93,6 @@ private slots:
int lineNumber, QMenu *menu);
void updateActions(int status);
-
void resetLocation();
void gotoLocation(const QString &fileName, int line, bool setMarker);
@@ -104,10 +106,16 @@ private slots:
void attachExternalApplication();
void attachCore();
void attachRemoteTcf();
+ void attachCmdLinePid();
private:
void readSettings();
void writeSettings() const;
+ bool parseArguments(const QStringList &args, QString *errorMessage);
+ inline bool parseArgument(QStringList::const_iterator &it,
+ const QStringList::const_iterator& end,
+ QString *errorMessage);
+ void attachExternalApplication(qint64 pid);
friend class DebuggerManager;
friend class GdbOptionPage;
@@ -121,7 +129,10 @@ private:
QString m_previousMode;
LocationMark *m_locationMark;
int m_gdbRunningContext;
-
+ unsigned m_cmdLineEnabledEngines;
+ quint64 m_cmdLineAttachPid;
+ // Exception that crashed an app passed on by Windows
+ unsigned long m_cmdLineWinException;
QAction *m_toggleLockedAction;
QAction *m_startExternalAction;