forked from qt-creator/qt-creator
Debugger: Merge GDB and GDB Extended option pages
Change-Id: I0d4c041cec9ea01e1310f08a4ee87ed8080976bd Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -155,7 +155,7 @@
|
|||||||
|
|
||||||
You can automatically add breakpoints on some functions to catch error
|
You can automatically add breakpoints on some functions to catch error
|
||||||
and warning messages. For more information, see \l{Specifying CDB Settings}
|
and warning messages. For more information, see \l{Specifying CDB Settings}
|
||||||
and \l{Specifying Extended GDB Settings}.
|
and \l{Specifying GDB Settings}.
|
||||||
|
|
||||||
For more information on breakpoints, see
|
For more information on breakpoints, see
|
||||||
\l{http://sourceware.org/gdb/onlinedocs/gdb/Breakpoints.html#Breakpoints}
|
\l{http://sourceware.org/gdb/onlinedocs/gdb/Breakpoints.html#Breakpoints}
|
||||||
|
@@ -110,16 +110,11 @@
|
|||||||
To execute arbitrary Python scripts, use
|
To execute arbitrary Python scripts, use
|
||||||
\c {python execfile('/path/to/script.py')}.
|
\c {python execfile('/path/to/script.py')}.
|
||||||
|
|
||||||
\section2 Specifying Extended GDB Settings
|
The settings in the \uicontrol Extended group give access to advanced
|
||||||
|
or experimental functions of GDB.
|
||||||
To specify extended settings for GBD, select \uicontrol Edit >
|
|
||||||
\uicontrol Preferences > \uicontrol Debugger > \uicontrol {GDB Extended}.
|
|
||||||
The settings give access to advanced or experimental functions of GDB.
|
|
||||||
Enabling them may negatively impact your debugging experience, so use
|
Enabling them may negatively impact your debugging experience, so use
|
||||||
them with care.
|
them with care.
|
||||||
|
|
||||||
\image qtcreator-gdb-extended-options.png "GDB Extended preferences"
|
|
||||||
|
|
||||||
To use asynchronous mode to control the inferior, select the
|
To use asynchronous mode to control the inferior, select the
|
||||||
respective check box.
|
respective check box.
|
||||||
|
|
||||||
|
@@ -414,8 +414,7 @@
|
|||||||
To increase the timeout in the \uicontrol {GDB timeout} field, select
|
To increase the timeout in the \uicontrol {GDB timeout} field, select
|
||||||
\uicontrol Edit > \uicontrol Preferences > \uicontrol Debugger >
|
\uicontrol Edit > \uicontrol Preferences > \uicontrol Debugger >
|
||||||
\uicontrol GDB. For more information about settings that you can specify
|
\uicontrol GDB. For more information about settings that you can specify
|
||||||
to manage the GDB process, see \l{Specifying GDB Settings} and
|
to manage the GDB process, see \l{Specifying GDB Settings}.
|
||||||
\l{Specifying Extended GDB Settings}.
|
|
||||||
|
|
||||||
For more information about connecting with \c {target extended-remote} mode
|
For more information about connecting with \c {target extended-remote} mode
|
||||||
in GDB, see \l{https://sourceware.org/gdb/onlinedocs/gdb/Connecting.html}
|
in GDB, see \l{https://sourceware.org/gdb/onlinedocs/gdb/Connecting.html}
|
||||||
@@ -630,7 +629,7 @@
|
|||||||
|
|
||||||
The extended GDB settings provide the option to step backwards in code,
|
The extended GDB settings provide the option to step backwards in code,
|
||||||
but this option should be used with care, as it is slow and unstable on the
|
but this option should be used with care, as it is slow and unstable on the
|
||||||
GDB side. For more information, see \l{Specifying Extended GDB Settings}.
|
GDB side. For more information, see \l{Specifying GDB Settings}.
|
||||||
|
|
||||||
\section2 Customizing Debug Views
|
\section2 Customizing Debug Views
|
||||||
|
|
||||||
|
@@ -571,15 +571,13 @@ DebuggerSettings::DebuggerSettings()
|
|||||||
page2.registerAspect(&useIndexCache);
|
page2.registerAspect(&useIndexCache);
|
||||||
page2.registerAspect(&gdbStartupCommands);
|
page2.registerAspect(&gdbStartupCommands);
|
||||||
page2.registerAspect(&gdbPostAttachCommands);
|
page2.registerAspect(&gdbPostAttachCommands);
|
||||||
|
page2.registerAspect(&targetAsync);
|
||||||
// Page 3
|
page2.registerAspect(&autoEnrichParameters);
|
||||||
page3.registerAspect(&targetAsync);
|
page2.registerAspect(&breakOnWarning);
|
||||||
page3.registerAspect(&autoEnrichParameters);
|
page2.registerAspect(&breakOnFatal);
|
||||||
page3.registerAspect(&breakOnWarning);
|
page2.registerAspect(&breakOnAbort);
|
||||||
page3.registerAspect(&breakOnFatal);
|
page2.registerAspect(&enableReverseDebugging);
|
||||||
page3.registerAspect(&breakOnAbort);
|
page2.registerAspect(&multiInferior);
|
||||||
page3.registerAspect(&enableReverseDebugging);
|
|
||||||
page3.registerAspect(&multiInferior);
|
|
||||||
|
|
||||||
// Page 4
|
// Page 4
|
||||||
page4.registerAspect(&useDebuggingHelpers);
|
page4.registerAspect(&useDebuggingHelpers);
|
||||||
@@ -624,7 +622,6 @@ DebuggerSettings::DebuggerSettings()
|
|||||||
// Collect all
|
// Collect all
|
||||||
all.registerAspects(page1);
|
all.registerAspects(page1);
|
||||||
all.registerAspects(page2);
|
all.registerAspects(page2);
|
||||||
all.registerAspects(page3);
|
|
||||||
all.registerAspects(page4);
|
all.registerAspects(page4);
|
||||||
all.registerAspects(page5);
|
all.registerAspects(page5);
|
||||||
all.registerAspects(page6);
|
all.registerAspects(page6);
|
||||||
|
@@ -163,7 +163,6 @@ public:
|
|||||||
Utils::AspectContainer all; // All
|
Utils::AspectContainer all; // All
|
||||||
Utils::AspectContainer page1; // General
|
Utils::AspectContainer page1; // General
|
||||||
Utils::AspectContainer page2; // GDB
|
Utils::AspectContainer page2; // GDB
|
||||||
Utils::AspectContainer page3; // GDB Extended
|
|
||||||
Utils::AspectContainer page4; // Locals & Expressions
|
Utils::AspectContainer page4; // Locals & Expressions
|
||||||
Utils::AspectContainer page5; // CDB
|
Utils::AspectContainer page5; // CDB
|
||||||
Utils::AspectContainer page6; // CDB Paths
|
Utils::AspectContainer page6; // CDB Paths
|
||||||
|
@@ -36,6 +36,12 @@ public:
|
|||||||
using namespace Layouting;
|
using namespace Layouting;
|
||||||
DebuggerSettings &s = *debuggerSettings();
|
DebuggerSettings &s = *debuggerSettings();
|
||||||
|
|
||||||
|
auto labelDangerous = new QLabel("<html><head/><body><i>" +
|
||||||
|
Tr::tr("The options below give access to advanced<br>"
|
||||||
|
"or experimental functions of GDB.<p>"
|
||||||
|
"Enabling them may negatively impact<br>"
|
||||||
|
"your debugging experience.") + "</i></body></html>");
|
||||||
|
|
||||||
Group general {
|
Group general {
|
||||||
title(Tr::tr("General")),
|
title(Tr::tr("General")),
|
||||||
Column {
|
Column {
|
||||||
@@ -49,53 +55,9 @@ public:
|
|||||||
s.intelFlavor,
|
s.intelFlavor,
|
||||||
s.usePseudoTracepoints,
|
s.usePseudoTracepoints,
|
||||||
s.useIndexCache,
|
s.useIndexCache,
|
||||||
st
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Column commands {
|
|
||||||
Group {
|
|
||||||
title(Tr::tr("Additional Startup Commands")),
|
|
||||||
Column { s.gdbStartupCommands }
|
|
||||||
},
|
|
||||||
Group {
|
|
||||||
title(Tr::tr("Additional Attach Commands")),
|
|
||||||
Column { s.gdbPostAttachCommands },
|
|
||||||
},
|
|
||||||
st
|
|
||||||
};
|
|
||||||
|
|
||||||
Row { general, commands }.attachTo(w);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////
|
|
||||||
//
|
|
||||||
// GdbOptionsPage2 - dangerous options
|
|
||||||
//
|
|
||||||
/////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
// The "Dangerous" options.
|
|
||||||
class GdbOptionsPage2 : public Core::IOptionsPage
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
GdbOptionsPage2()
|
|
||||||
{
|
|
||||||
setId("M.Gdb2");
|
|
||||||
setDisplayName(Tr::tr("GDB Extended"));
|
|
||||||
setCategory(Constants::DEBUGGER_SETTINGS_CATEGORY);
|
|
||||||
setSettings(&debuggerSettings()->page3);
|
|
||||||
|
|
||||||
setLayouter([](QWidget *w) {
|
|
||||||
auto labelDangerous = new QLabel("<html><head/><body><i>" +
|
|
||||||
Tr::tr("The options below give access to advanced "
|
|
||||||
"or experimental functions of GDB.<br>Enabling them may negatively "
|
|
||||||
"impact your debugging experience.") + "</i></body></html>");
|
|
||||||
|
|
||||||
using namespace Layouting;
|
|
||||||
DebuggerSettings &s = *debuggerSettings();
|
|
||||||
|
|
||||||
Group extended {
|
Group extended {
|
||||||
title(Tr::tr("Extended")),
|
title(Tr::tr("Extended")),
|
||||||
Column {
|
Column {
|
||||||
@@ -107,10 +69,21 @@ public:
|
|||||||
s.breakOnAbort,
|
s.breakOnAbort,
|
||||||
s.enableReverseDebugging,
|
s.enableReverseDebugging,
|
||||||
s.multiInferior,
|
s.multiInferior,
|
||||||
|
st
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Column { extended, st }.attachTo(w);
|
Group startup {
|
||||||
|
title(Tr::tr("Additional Startup Commands")),
|
||||||
|
Column { s.gdbStartupCommands }
|
||||||
|
};
|
||||||
|
|
||||||
|
Group attach {
|
||||||
|
title(Tr::tr("Additional Attach Commands")),
|
||||||
|
Column { s.gdbPostAttachCommands },
|
||||||
|
};
|
||||||
|
|
||||||
|
Grid { general, extended, br, startup, attach }.attachTo(w);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -120,7 +93,6 @@ public:
|
|||||||
void addGdbOptionPages(QList<IOptionsPage *> *opts)
|
void addGdbOptionPages(QList<IOptionsPage *> *opts)
|
||||||
{
|
{
|
||||||
opts->push_back(new GdbOptionsPage);
|
opts->push_back(new GdbOptionsPage);
|
||||||
opts->push_back(new GdbOptionsPage2);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // Debugger::Internal
|
} // Debugger::Internal
|
||||||
|
Reference in New Issue
Block a user