forked from qt-creator/qt-creator
Debugger: Transform DebuggerRunParameters::breakOnMain
Task-number: QTCREATORBUG-29168 Change-Id: I3d771be8d2778f63bfcc7bf43b25c3086deb9309 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -442,7 +442,7 @@ void CdbEngine::handleInitialSessionIdle()
|
|||||||
//operateByInstructionTriggered(operatesByInstruction());
|
//operateByInstructionTriggered(operatesByInstruction());
|
||||||
// QmlCppEngine expects the QML engine to be connected before any breakpoints are hit
|
// QmlCppEngine expects the QML engine to be connected before any breakpoints are hit
|
||||||
// (attemptBreakpointSynchronization() will be directly called then)
|
// (attemptBreakpointSynchronization() will be directly called then)
|
||||||
if (rp.breakOnMain) {
|
if (rp.breakOnMain()) {
|
||||||
BreakpointParameters bp(BreakpointAtMain);
|
BreakpointParameters bp(BreakpointAtMain);
|
||||||
if (rp.startMode() == StartInternal || rp.startMode() == StartExternal) {
|
if (rp.startMode() == StartInternal || rp.startMode() == StartExternal) {
|
||||||
const QString &moduleFileName = rp.inferior().command.executable().fileName();
|
const QString &moduleFileName = rp.inferior().command.executable().fileName();
|
||||||
|
@@ -414,7 +414,7 @@ void StartApplicationDialog::run(bool attachRemote)
|
|||||||
else
|
else
|
||||||
rp.setRemoteChannel(dev->sshParameters().host(), newParameters.serverPort);
|
rp.setRemoteChannel(dev->sshParameters().host(), newParameters.serverPort);
|
||||||
rp.setDisplayName(newParameters.displayName());
|
rp.setDisplayName(newParameters.displayName());
|
||||||
debugger->setBreakOnMain(newParameters.breakAtMain);
|
rp.setBreakOnMain(newParameters.breakAtMain);
|
||||||
debugger->setDebugInfoLocation(newParameters.debugInfoLocation);
|
debugger->setDebugInfoLocation(newParameters.debugInfoLocation);
|
||||||
rp.setInferior(newParameters.runnable);
|
rp.setInferior(newParameters.runnable);
|
||||||
rp.setCommandsAfterConnect(newParameters.serverInitCommands);
|
rp.setCommandsAfterConnect(newParameters.serverInitCommands);
|
||||||
|
@@ -276,7 +276,7 @@ Result DebuggerRunParameters::fixupParameters(ProjectExplorer::RunControl *runCo
|
|||||||
m_startMode = StartInternal;
|
m_startMode = StartInternal;
|
||||||
|
|
||||||
if (breakOnMainNextTime) {
|
if (breakOnMainNextTime) {
|
||||||
breakOnMain = true;
|
m_breakOnMain = true;
|
||||||
breakOnMainNextTime = false;
|
breakOnMainNextTime = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -183,7 +183,10 @@ public:
|
|||||||
QString version() const { return m_version; }
|
QString version() const { return m_version; }
|
||||||
|
|
||||||
bool isPythonDebugging() const { return m_isPythonDebugging; }
|
bool isPythonDebugging() const { return m_isPythonDebugging; }
|
||||||
bool breakOnMain = false;
|
|
||||||
|
void setBreakOnMain(bool on) { m_breakOnMain = on; }
|
||||||
|
bool breakOnMain() const { return m_breakOnMain; }
|
||||||
|
|
||||||
bool multiProcess = false; // Whether to set detach-on-fork off.
|
bool multiProcess = false; // Whether to set detach-on-fork off.
|
||||||
bool useTerminal = false;
|
bool useTerminal = false;
|
||||||
bool runAsRoot = false;
|
bool runAsRoot = false;
|
||||||
@@ -288,6 +291,7 @@ private:
|
|||||||
QString m_version;
|
QString m_version;
|
||||||
|
|
||||||
bool m_isPythonDebugging = false;
|
bool m_isPythonDebugging = false;
|
||||||
|
bool m_breakOnMain = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
@@ -103,11 +103,6 @@ public:
|
|||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|
||||||
void DebuggerRunTool::setBreakOnMain(bool on)
|
|
||||||
{
|
|
||||||
m_runParameters.breakOnMain = on;
|
|
||||||
}
|
|
||||||
|
|
||||||
void DebuggerRunTool::setUseTerminal(bool on)
|
void DebuggerRunTool::setUseTerminal(bool on)
|
||||||
{
|
{
|
||||||
m_runParameters.useTerminal = on;
|
m_runParameters.useTerminal = on;
|
||||||
|
@@ -33,7 +33,6 @@ public:
|
|||||||
void setStartMessage(const QString &msg);
|
void setStartMessage(const QString &msg);
|
||||||
void setCrashParameter(const QString &event);
|
void setCrashParameter(const QString &event);
|
||||||
|
|
||||||
void setBreakOnMain(bool on);
|
|
||||||
void setUseTerminal(bool on);
|
void setUseTerminal(bool on);
|
||||||
void setUseDebugServer(Utils::ProcessHandle attachPid, bool essential, bool useMulti);
|
void setUseDebugServer(Utils::ProcessHandle attachPid, bool essential, bool useMulti);
|
||||||
|
|
||||||
|
@@ -4449,7 +4449,7 @@ void GdbEngine::setupInferior()
|
|||||||
const DebuggerRunParameters &rp = runParameters();
|
const DebuggerRunParameters &rp = runParameters();
|
||||||
|
|
||||||
//runCommand("set follow-exec-mode new");
|
//runCommand("set follow-exec-mode new");
|
||||||
if (rp.breakOnMain)
|
if (rp.breakOnMain())
|
||||||
runCommand({"tbreak " + mainFunction()});
|
runCommand({"tbreak " + mainFunction()});
|
||||||
|
|
||||||
if (!rp.solibSearchPath().isEmpty()) {
|
if (!rp.solibSearchPath().isEmpty()) {
|
||||||
|
@@ -264,7 +264,7 @@ void LldbEngine::handleLldbStarted()
|
|||||||
const FilePath &executable = rp.inferior().command.executable();
|
const FilePath &executable = rp.inferior().command.executable();
|
||||||
DebuggerCommand cmd2("setupInferior");
|
DebuggerCommand cmd2("setupInferior");
|
||||||
cmd2.arg("executable", executable.path());
|
cmd2.arg("executable", executable.path());
|
||||||
cmd2.arg("breakonmain", rp.breakOnMain);
|
cmd2.arg("breakonmain", rp.breakOnMain());
|
||||||
cmd2.arg("useterminal", usesTerminal());
|
cmd2.arg("useterminal", usesTerminal());
|
||||||
cmd2.arg("startmode", rp.startMode());
|
cmd2.arg("startmode", rp.startMode());
|
||||||
cmd2.arg("nativemixed", isNativeMixedActive());
|
cmd2.arg("nativemixed", isNativeMixedActive());
|
||||||
|
@@ -135,7 +135,7 @@ void PdbEngine::handlePdbStarted()
|
|||||||
showStatusMessage(Tr::tr("Running requested..."), 5000);
|
showStatusMessage(Tr::tr("Running requested..."), 5000);
|
||||||
BreakpointManager::claimBreakpointsForEngine(this);
|
BreakpointManager::claimBreakpointsForEngine(this);
|
||||||
notifyEngineRunAndInferiorStopOk();
|
notifyEngineRunAndInferiorStopOk();
|
||||||
if (runParameters().breakOnMain)
|
if (runParameters().breakOnMain())
|
||||||
updateAll();
|
updateAll();
|
||||||
else
|
else
|
||||||
continueInferior();
|
continueInferior();
|
||||||
|
Reference in New Issue
Block a user