Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Marco Bubke
flatpak-qt-creator
Commits
85243e19
Commit
85243e19
authored
Jul 08, 2010
by
hjk
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
debugger: encapsulate part of the startup logic in the base class
parent
e721b9f7
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
46 additions
and
44 deletions
+46
-44
src/plugins/debugger/cdb/cdbengine.cpp
src/plugins/debugger/cdb/cdbengine.cpp
+4
-4
src/plugins/debugger/debuggerengine.cpp
src/plugins/debugger/debuggerengine.cpp
+26
-18
src/plugins/debugger/debuggerengine.h
src/plugins/debugger/debuggerengine.h
+2
-2
src/plugins/debugger/gdb/gdbengine.cpp
src/plugins/debugger/gdb/gdbengine.cpp
+1
-2
src/plugins/debugger/pdb/pdbengine.cpp
src/plugins/debugger/pdb/pdbengine.cpp
+3
-4
src/plugins/debugger/qml/qmlengine.cpp
src/plugins/debugger/qml/qmlengine.cpp
+4
-9
src/plugins/debugger/script/scriptengine.cpp
src/plugins/debugger/script/scriptengine.cpp
+2
-2
src/plugins/debugger/tcf/tcfengine.cpp
src/plugins/debugger/tcf/tcfengine.cpp
+4
-3
No files found.
src/plugins/debugger/cdb/cdbengine.cpp
View file @
85243e19
...
...
@@ -387,7 +387,7 @@ void CdbEngine::startEngine()
warning
(
QLatin1String
(
"Internal error: Attempt to start debugger while another process is being debugged."
));
setState
(
EngineStartFailed
,
Q_FUNC_INFO
,
__LINE__
);
setState
(
DebuggerNotReady
,
Q_FUNC_INFO
,
__LINE__
);
emit
s
tartFailed
();
notifyEngineS
tartFailed
();
return
;
}
switch
(
sp
.
startMode
)
{
...
...
@@ -396,7 +396,7 @@ void CdbEngine::startEngine()
warning
(
QLatin1String
(
"Internal error: Mode not supported."
));
setState
(
EngineStartFailed
,
Q_FUNC_INFO
,
__LINE__
);
setState
(
DebuggerNotReady
,
Q_FUNC_INFO
,
__LINE__
);
emit
s
tartFailed
();
notifyEngineS
tartFailed
();
break
;
default:
break
;
...
...
@@ -470,11 +470,11 @@ void CdbEngine::startEngine()
if
(
rc
)
{
if
(
needWatchTimer
)
m_d
->
startWatchTimer
();
startSuccessful
();
notifyEngineStarted
();
}
else
{
warning
(
errorMessage
);
setState
(
InferiorStartFailed
,
Q_FUNC_INFO
,
__LINE__
);
s
tartFailed
();
notifyEngineS
tartFailed
();
}
}
...
...
src/plugins/debugger/debuggerengine.cpp
View file @
85243e19
...
...
@@ -608,12 +608,12 @@ void DebuggerEngine::showMessage(const QString &msg, int channel, int timeout) c
void
DebuggerEngine
::
startDebugger
(
DebuggerRunControl
*
runControl
)
{
QTC_ASSERT
(
runControl
,
s
tartFailed
();
return
);
QTC_ASSERT
(
!
d
->
m_runControl
,
s
tartFailed
();
return
);
QTC_ASSERT
(
runControl
,
notifyEngineS
tartFailed
();
return
);
QTC_ASSERT
(
!
d
->
m_runControl
,
notifyEngineS
tartFailed
();
return
);
DebuggerEngine
*
sessionTemplate
=
plugin
()
->
sessionTemplate
();
QTC_ASSERT
(
sessionTemplate
,
s
tartFailed
();
return
);
QTC_ASSERT
(
sessionTemplate
!=
this
,
s
tartFailed
();
return
);
QTC_ASSERT
(
sessionTemplate
,
notifyEngineS
tartFailed
();
return
);
QTC_ASSERT
(
sessionTemplate
!=
this
,
notifyEngineS
tartFailed
();
return
);
breakHandler
()
->
initializeFromTemplate
(
sessionTemplate
->
breakHandler
());
watchHandler
()
->
initializeFromTemplate
(
sessionTemplate
->
watchHandler
());
...
...
@@ -956,6 +956,18 @@ static bool isAllowedTransition(int from, int to)
return
false
;
}
void
DebuggerEngine
::
notifyEngineStarted
()
{
QTC_ASSERT
(
state
()
==
EngineStarting
,
/**/
);
setState
(
EngineStarted
);
}
void
DebuggerEngine
::
notifyEngineStartFailed
()
{
QTC_ASSERT
(
state
()
==
EngineStarting
,
/**/
);
setState
(
EngineStartFailed
);
}
void
DebuggerEngine
::
setState
(
DebuggerState
state
,
bool
forced
)
{
//qDebug() << "STATUS CHANGE: FROM " << stateName(d->m_state)
...
...
@@ -972,8 +984,16 @@ void DebuggerEngine::setState(DebuggerState state, bool forced)
showMessage
(
msg
,
LogDebug
);
plugin
()
->
updateState
(
this
);
if
(
state
!=
oldState
&&
state
==
DebuggerNotReady
)
d
->
m_runControl
->
debuggingFinished
();
if
(
state
!=
oldState
)
{
if
(
state
==
DebuggerNotReady
)
{
d
->
m_runControl
->
debuggingFinished
();
}
else
if
(
state
==
EngineStarted
)
{
d
->
m_runControl
->
startSuccessful
();
}
else
if
(
state
==
EngineStartFailed
)
{
d
->
m_runControl
->
debuggingFinished
();
d
->
m_runControl
->
startFailed
();
}
}
}
bool
DebuggerEngine
::
debuggerActionsEnabled
()
const
...
...
@@ -1008,18 +1028,6 @@ bool DebuggerEngine::debuggerActionsEnabled(DebuggerState state)
return
false
;
}
void
DebuggerEngine
::
startFailed
()
{
// The concrete engines themselves are responsible for changing state.
QTC_ASSERT
(
state
()
==
DebuggerNotReady
,
setState
(
DebuggerNotReady
));
d
->
m_runControl
->
startFailed
();
}
void
DebuggerEngine
::
startSuccessful
()
{
d
->
m_runControl
->
startSuccessful
();
}
void
DebuggerEngine
::
notifyInferiorPid
(
qint64
pid
)
{
if
(
d
->
m_inferiorPid
==
pid
)
...
...
src/plugins/debugger/debuggerengine.h
View file @
85243e19
...
...
@@ -248,13 +248,13 @@ public slots:
void
openFile
(
const
QString
&
fileName
,
int
lineNumber
=
-
1
);
void
gotoLocation
(
const
QString
&
fileName
,
int
lineNumber
,
bool
setMarker
);
void
gotoLocation
(
const
StackFrame
&
frame
,
bool
setMarker
);
void
startSuccessful
();
void
startFailed
();
void
raiseApplication
();
virtual
void
quitDebugger
()
{
exitDebugger
();
}
// called by DebuggerRunControl
protected:
void
setState
(
DebuggerState
state
,
bool
forced
=
false
);
void
notifyEngineStarted
();
void
notifyEngineStartFailed
();
private:
void
executeRunToLine
();
...
...
src/plugins/debugger/gdb/gdbengine.cpp
View file @
85243e19
...
...
@@ -4205,7 +4205,7 @@ void GdbEngine::handleAdapterStartFailed(const QString &msg, const QString &sett
void
GdbEngine
::
handleAdapterStarted
()
{
setState
(
EngineStarted
);
notify
EngineStarted
(
);
if
(
m_progress
)
m_progress
->
setProgressValue
(
25
);
showMessage
(
_
(
"ADAPTER SUCCESSFULLY STARTED"
));
...
...
@@ -4217,7 +4217,6 @@ void GdbEngine::handleAdapterStarted()
void
GdbEngine
::
handleInferiorPrepared
()
{
startSuccessful
();
const
QByteArray
qtInstallPath
=
startParameters
().
qtInstallPath
.
toLocal8Bit
();
if
(
!
qtInstallPath
.
isEmpty
())
{
QByteArray
qtBuildPath
;
...
...
src/plugins/debugger/pdb/pdbengine.cpp
View file @
85243e19
...
...
@@ -148,7 +148,7 @@ void PdbEngine::startEngine()
//showMessage("STARTING " +m_scriptFileName + "FAILED");
showMessage
(
QString
::
fromLatin1
(
"Cannot open %1: %2"
).
arg
(
m_scriptFileName
,
scriptFile
.
errorString
()),
LogError
);
s
tartFailed
();
notifyEngineS
tartFailed
();
return
;
}
m_pdbProc
.
disconnect
();
// From any previous runs
...
...
@@ -188,9 +188,10 @@ void PdbEngine::startEngine()
Core
::
ICore
::
instance
()
->
showWarningWithOptions
(
title
,
msg
);
}
shutdown
();
s
tartFailed
();
notifyEngineS
tartFailed
();
return
;
}
notifyEngineStarted
();
attemptBreakpointSynchronization
();
showMessage
(
_
(
"PDB STARTED, INITIALIZING IT"
));
...
...
@@ -199,9 +200,7 @@ void PdbEngine::startEngine()
postCommand
(
"execfile('"
+
dumperSourcePath
+
"pdumper.py')"
,
CB
(
handleLoadDumper
));
setState
(
EngineStarted
);
setState
(
InferiorStarting
);
emit
startSuccessful
();
showStatusMessage
(
tr
(
"Running requested..."
),
5000
);
setState
(
InferiorRunningRequested
);
setState
(
InferiorRunning
);
...
...
src/plugins/debugger/qml/qmlengine.cpp
View file @
85243e19
...
...
@@ -251,18 +251,13 @@ void QmlEngine::startEngine()
m_proc.start(sp.executable, sp.processArgs);
if (!m_proc.waitForStarted()) {
setState(EngineStartFailed);
startFailed();
notifyEngineStartFailed();
return;
}
#endif
setState
(
EngineStarted
);
startSuccessful
();
setState
(
InferiorStarting
);
notifyEngineStarted
();
//m_frameRate = new CanvasFrameRate(0);
//m_frameRate->show();
setState
(
InferiorRunning
);
}
void
QmlEngine
::
setupConnection
()
...
...
@@ -300,12 +295,12 @@ void QmlEngine::setupConnection()
if (!m_conn->waitForConnected()) {
qDebug() << "CONNECTION FAILED";
setState(InferiorStartFailed);
startFailed();
notifyEngineStartFailed();
return;
}
#endif
notifyEngineStarted
();
qDebug
()
<<
"CONNECTION SUCCESSFUL"
;
setState
(
InferiorRunningRequested
);
setState
(
InferiorRunning
);
...
...
src/plugins/debugger/script/scriptengine.cpp
View file @
85243e19
...
...
@@ -255,9 +255,10 @@ void ScriptEngine::startEngine()
if
(
!
scriptFile
.
open
(
QIODevice
::
ReadOnly
|
QIODevice
::
Text
))
{
showMessage
(
QString
::
fromLatin1
(
"Cannot open %1: %2"
).
arg
(
m_scriptFileName
,
scriptFile
.
errorString
()),
LogError
);
s
tartFailed
();
notifyEngineS
tartFailed
();
return
;
}
notifyEngineStarted
();
QTextStream
stream
(
&
scriptFile
);
m_scriptContents
=
stream
.
readAll
();
scriptFile
.
close
();
...
...
@@ -266,7 +267,6 @@ void ScriptEngine::startEngine()
showStatusMessage
(
tr
(
"Running requested..."
),
5000
);
showMessage
(
QLatin1String
(
"Running: "
)
+
m_scriptFileName
,
LogMisc
);
QTimer
::
singleShot
(
0
,
this
,
SLOT
(
runInferior
()));
startSuccessful
();
}
void
ScriptEngine
::
continueInferior
()
...
...
src/plugins/debugger/tcf/tcfengine.cpp
View file @
85243e19
...
...
@@ -155,8 +155,10 @@ void TcfEngine::socketReadyRead()
void
TcfEngine
::
socketConnected
()
{
showStatusMessage
(
"Socket connected."
);
m_socket
->
waitForConnected
(
2000
);
//sendCommand("Locator", "redirect", "ID");
if
(
m_socket
->
waitForConnected
(
2000
))
notifyEngineStarted
();
else
notifyEngineStartFailed
();
}
void
TcfEngine
::
socketDisconnected
()
...
...
@@ -211,7 +213,6 @@ void TcfEngine::startEngine()
const
quint16
port
=
sp
.
remoteChannel
.
mid
(
pos
+
1
).
toInt
();
//QTimer::singleShot(0, this, SLOT(runInferior()));
m_socket
->
connectToHost
(
host
,
port
);
emit
startSuccessful
();
}
void
TcfEngine
::
continueInferior
()
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment