Debugger: Transform DebuggerRunParameters::breakOnMain

Task-number: QTCREATORBUG-29168
Change-Id: I3d771be8d2778f63bfcc7bf43b25c3086deb9309
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2025-01-13 12:50:45 +01:00
parent ac11fc2f88
commit 1d7fd9a781
9 changed files with 11 additions and 13 deletions

View File

@@ -442,7 +442,7 @@ void CdbEngine::handleInitialSessionIdle()
//operateByInstructionTriggered(operatesByInstruction());
// QmlCppEngine expects the QML engine to be connected before any breakpoints are hit
// (attemptBreakpointSynchronization() will be directly called then)
if (rp.breakOnMain) {
if (rp.breakOnMain()) {
BreakpointParameters bp(BreakpointAtMain);
if (rp.startMode() == StartInternal || rp.startMode() == StartExternal) {
const QString &moduleFileName = rp.inferior().command.executable().fileName();

View File

@@ -414,7 +414,7 @@ void StartApplicationDialog::run(bool attachRemote)
else
rp.setRemoteChannel(dev->sshParameters().host(), newParameters.serverPort);
rp.setDisplayName(newParameters.displayName());
debugger->setBreakOnMain(newParameters.breakAtMain);
rp.setBreakOnMain(newParameters.breakAtMain);
debugger->setDebugInfoLocation(newParameters.debugInfoLocation);
rp.setInferior(newParameters.runnable);
rp.setCommandsAfterConnect(newParameters.serverInitCommands);

View File

@@ -276,7 +276,7 @@ Result DebuggerRunParameters::fixupParameters(ProjectExplorer::RunControl *runCo
m_startMode = StartInternal;
if (breakOnMainNextTime) {
breakOnMain = true;
m_breakOnMain = true;
breakOnMainNextTime = false;
}

View File

@@ -183,7 +183,10 @@ public:
QString version() const { return m_version; }
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 useTerminal = false;
bool runAsRoot = false;
@@ -288,6 +291,7 @@ private:
QString m_version;
bool m_isPythonDebugging = false;
bool m_breakOnMain = false;
};
namespace Internal {

View File

@@ -103,11 +103,6 @@ public:
} // namespace Internal
void DebuggerRunTool::setBreakOnMain(bool on)
{
m_runParameters.breakOnMain = on;
}
void DebuggerRunTool::setUseTerminal(bool on)
{
m_runParameters.useTerminal = on;

View File

@@ -33,7 +33,6 @@ public:
void setStartMessage(const QString &msg);
void setCrashParameter(const QString &event);
void setBreakOnMain(bool on);
void setUseTerminal(bool on);
void setUseDebugServer(Utils::ProcessHandle attachPid, bool essential, bool useMulti);

View File

@@ -4449,7 +4449,7 @@ void GdbEngine::setupInferior()
const DebuggerRunParameters &rp = runParameters();
//runCommand("set follow-exec-mode new");
if (rp.breakOnMain)
if (rp.breakOnMain())
runCommand({"tbreak " + mainFunction()});
if (!rp.solibSearchPath().isEmpty()) {

View File

@@ -264,7 +264,7 @@ void LldbEngine::handleLldbStarted()
const FilePath &executable = rp.inferior().command.executable();
DebuggerCommand cmd2("setupInferior");
cmd2.arg("executable", executable.path());
cmd2.arg("breakonmain", rp.breakOnMain);
cmd2.arg("breakonmain", rp.breakOnMain());
cmd2.arg("useterminal", usesTerminal());
cmd2.arg("startmode", rp.startMode());
cmd2.arg("nativemixed", isNativeMixedActive());

View File

@@ -135,7 +135,7 @@ void PdbEngine::handlePdbStarted()
showStatusMessage(Tr::tr("Running requested..."), 5000);
BreakpointManager::claimBreakpointsForEngine(this);
notifyEngineRunAndInferiorStopOk();
if (runParameters().breakOnMain)
if (runParameters().breakOnMain())
updateAll();
else
continueInferior();