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());
|
||||
// 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();
|
||||
|
@@ -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);
|
||||
|
@@ -276,7 +276,7 @@ Result DebuggerRunParameters::fixupParameters(ProjectExplorer::RunControl *runCo
|
||||
m_startMode = StartInternal;
|
||||
|
||||
if (breakOnMainNextTime) {
|
||||
breakOnMain = true;
|
||||
m_breakOnMain = true;
|
||||
breakOnMainNextTime = false;
|
||||
}
|
||||
|
||||
|
@@ -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 {
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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()) {
|
||||
|
@@ -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());
|
||||
|
@@ -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();
|
||||
|
Reference in New Issue
Block a user