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
405f340e
Commit
405f340e
authored
Jul 08, 2010
by
hjk
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
debugger: streamline communication between GdbEngine and the adapters
parent
2385e15b
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
70 additions
and
111 deletions
+70
-111
src/plugins/debugger/gdb/abstractgdbadapter.h
src/plugins/debugger/gdb/abstractgdbadapter.h
+0
-18
src/plugins/debugger/gdb/abstractplaingdbadapter.cpp
src/plugins/debugger/gdb/abstractplaingdbadapter.cpp
+5
-5
src/plugins/debugger/gdb/attachgdbadapter.cpp
src/plugins/debugger/gdb/attachgdbadapter.cpp
+3
-3
src/plugins/debugger/gdb/coregdbadapter.cpp
src/plugins/debugger/gdb/coregdbadapter.cpp
+2
-2
src/plugins/debugger/gdb/gdbengine.cpp
src/plugins/debugger/gdb/gdbengine.cpp
+9
-37
src/plugins/debugger/gdb/gdbengine.h
src/plugins/debugger/gdb/gdbengine.h
+14
-10
src/plugins/debugger/gdb/localplaingdbadapter.cpp
src/plugins/debugger/gdb/localplaingdbadapter.cpp
+2
-2
src/plugins/debugger/gdb/remotegdbserveradapter.cpp
src/plugins/debugger/gdb/remotegdbserveradapter.cpp
+4
-4
src/plugins/debugger/gdb/remoteplaingdbadapter.cpp
src/plugins/debugger/gdb/remoteplaingdbadapter.cpp
+1
-1
src/plugins/debugger/gdb/tcftrkgdbadapter.cpp
src/plugins/debugger/gdb/tcftrkgdbadapter.cpp
+16
-15
src/plugins/debugger/gdb/termgdbadapter.cpp
src/plugins/debugger/gdb/termgdbadapter.cpp
+5
-5
src/plugins/debugger/gdb/trkgdbadapter.cpp
src/plugins/debugger/gdb/trkgdbadapter.cpp
+9
-9
No files found.
src/plugins/debugger/gdb/abstractgdbadapter.h
View file @
405f340e
...
...
@@ -85,24 +85,6 @@ public:
virtual
void
trkReloadRegisters
()
{}
virtual
void
trkReloadThreads
()
{}
signals:
void
adapterStarted
();
// Something went wrong with the adapter *before* adapterStarted() was emitted.
// Make sure to clean up everything before emitting this signal.
void
adapterStartFailed
(
const
QString
&
msg
,
const
QString
&
settingsIdHint
);
// Something went wrong with the adapter *after* adapterStarted() was emitted.
// Make sure to clean up everything before emitting this signal.
void
adapterCrashed
(
const
QString
&
msg
);
// This triggers the initial breakpoint synchronization and causes
// startInferiorPhase2() being called once done.
void
inferiorPrepared
();
// The adapter is still running just fine, but it failed to acquire a debuggee.
void
inferiorStartFailed
(
const
QString
&
msg
);
protected:
DebuggerState
state
()
const
{
return
m_engine
->
state
();
}
...
...
src/plugins/debugger/gdb/abstractplaingdbadapter.cpp
View file @
405f340e
...
...
@@ -69,14 +69,14 @@ void AbstractPlainGdbAdapter::handleFileExecAndSymbols(const GdbResponse &respon
if
(
m_engine
->
m_gdbVersion
<
70000
)
m_engine
->
postCommand
(
"info target"
,
CB
(
handleInfoTarget
));
}
emit
i
nferiorPrepared
();
m_engine
->
handleI
nferiorPrepared
();
}
else
{
QByteArray
ba
=
response
.
data
.
findChild
(
"msg"
).
data
();
QString
msg
=
fromLocalEncoding
(
ba
);
// Extend the message a bit in unknown cases.
if
(
!
ba
.
endsWith
(
"File format not recognized"
))
msg
=
tr
(
"Starting executable failed:
\n
"
)
+
msg
;
emit
i
nferiorStartFailed
(
msg
);
m_engine
->
handleI
nferiorStartFailed
(
msg
);
}
}
...
...
@@ -100,7 +100,7 @@ void AbstractPlainGdbAdapter::handleExecRun(const GdbResponse &response)
QString
msg
=
fromLocalEncoding
(
response
.
data
.
findChild
(
"msg"
).
data
());
//QTC_ASSERT(status() == InferiorRunning, /**/);
//interruptInferior();
emit
i
nferiorStartFailed
(
msg
);
m_engine
->
handleI
nferiorStartFailed
(
msg
);
}
}
...
...
@@ -118,10 +118,10 @@ void AbstractPlainGdbAdapter::handleInfoTarget(const GdbResponse &response)
m_engine
->
postCommand
(
"tbreak *0x"
+
needle
.
cap
(
1
).
toAscii
());
// Do nothing here - inferiorPrepared handles the sequencing.
}
else
{
emit
i
nferiorStartFailed
(
_
(
"Parsing start address failed"
));
m_engine
->
handleI
nferiorStartFailed
(
_
(
"Parsing start address failed"
));
}
}
else
if
(
response
.
resultClass
==
GdbResultError
)
{
emit
i
nferiorStartFailed
(
_
(
"Fetching start address failed"
));
m_engine
->
handleI
nferiorStartFailed
(
_
(
"Fetching start address failed"
));
}
}
...
...
src/plugins/debugger/gdb/attachgdbadapter.cpp
View file @
405f340e
...
...
@@ -62,7 +62,7 @@ void AttachGdbAdapter::startAdapter()
if
(
!
m_engine
->
startGdb
())
return
;
emit
a
dapterStarted
();
m_engine
->
handleA
dapterStarted
();
}
void
AttachGdbAdapter
::
startInferior
()
...
...
@@ -81,11 +81,11 @@ void AttachGdbAdapter::handleAttach(const GdbResponse &response)
setState
(
InferiorStopped
);
showMessage
(
_
(
"INFERIOR ATTACHED"
));
showMessage
(
msgAttachedToStoppedInferior
(),
StatusBar
);
emit
i
nferiorPrepared
();
m_engine
->
handleI
nferiorPrepared
();
m_engine
->
updateAll
();
}
else
{
QString
msg
=
QString
::
fromLocal8Bit
(
response
.
data
.
findChild
(
"msg"
).
data
());
emit
i
nferiorStartFailed
(
msg
);
m_engine
->
handleI
nferiorStartFailed
(
msg
);
}
}
...
...
src/plugins/debugger/gdb/coregdbadapter.cpp
View file @
405f340e
...
...
@@ -65,7 +65,7 @@ void CoreGdbAdapter::startAdapter()
if
(
!
m_engine
->
startGdb
())
return
;
emit
a
dapterStarted
();
m_engine
->
handleA
dapterStarted
();
}
void
CoreGdbAdapter
::
startInferior
()
...
...
@@ -161,7 +161,7 @@ void CoreGdbAdapter::handleTargetCore(const GdbResponse &response)
}
else
{
QString
msg
=
tr
(
"Attach to core
\"
%1
\"
failed:
\n
"
).
arg
(
startParameters
().
coreFile
)
+
QString
::
fromLocal8Bit
(
response
.
data
.
findChild
(
"msg"
).
data
());
emit
i
nferiorStartFailed
(
msg
);
m_engine
->
handleI
nferiorStartFailed
(
msg
);
}
}
...
...
src/plugins/debugger/gdb/gdbengine.cpp
View file @
405f340e
...
...
@@ -122,6 +122,7 @@ QByteArray GdbEngine::tooltipIName(const QString &exp)
static
bool
stateAcceptsGdbCommands
(
DebuggerState
state
)
{
switch
(
state
)
{
case
EngineStarting
:
case
EngineStarted
:
case
EngineStartFailed
:
case
InferiorUnrunnable
:
...
...
@@ -138,7 +139,6 @@ static bool stateAcceptsGdbCommands(DebuggerState state)
case
InferiorShutdownFailed
:
return
true
;
case
DebuggerNotReady
:
case
EngineStarting
:
case
InferiorStopFailed
:
case
EngineShuttingDown
:
return
false
;
...
...
@@ -191,23 +191,6 @@ GdbEngine::GdbEngine(const DebuggerStartParameters &startParameters)
this
,
SLOT
(
createFullBacktrace
()));
}
void
GdbEngine
::
connectDebuggingHelperActions
()
{
connect
(
theDebuggerAction
(
UseDebuggingHelpers
),
SIGNAL
(
valueChanged
(
QVariant
)),
this
,
SLOT
(
setUseDebuggingHelpers
(
QVariant
)));
connect
(
theDebuggerAction
(
DebugDebuggingHelpers
),
SIGNAL
(
valueChanged
(
QVariant
)),
this
,
SLOT
(
setDebugDebuggingHelpersClassic
(
QVariant
)));
connect
(
theDebuggerAction
(
RecheckDebuggingHelpers
),
SIGNAL
(
triggered
()),
this
,
SLOT
(
recheckDebuggingHelperAvailabilityClassic
()));
}
void
GdbEngine
::
disconnectDebuggingHelperActions
()
{
disconnect
(
theDebuggerAction
(
UseDebuggingHelpers
),
0
,
this
,
0
);
disconnect
(
theDebuggerAction
(
DebugDebuggingHelpers
),
0
,
this
,
0
);
disconnect
(
theDebuggerAction
(
RecheckDebuggingHelpers
),
0
,
this
,
0
);
}
DebuggerStartMode
GdbEngine
::
startMode
()
const
{
return
startParameters
().
startMode
;
...
...
@@ -232,20 +215,6 @@ GdbEngine::~GdbEngine()
m_gdbAdapter
=
0
;
}
void
GdbEngine
::
connectAdapter
()
{
connect
(
m_gdbAdapter
,
SIGNAL
(
adapterStarted
()),
this
,
SLOT
(
handleAdapterStarted
()));
connect
(
m_gdbAdapter
,
SIGNAL
(
adapterStartFailed
(
QString
,
QString
)),
this
,
SLOT
(
handleAdapterStartFailed
(
QString
,
QString
)));
connect
(
m_gdbAdapter
,
SIGNAL
(
inferiorPrepared
()),
this
,
SLOT
(
handleInferiorPrepared
()));
connect
(
m_gdbAdapter
,
SIGNAL
(
inferiorStartFailed
(
QString
)),
this
,
SLOT
(
handleInferiorStartFailed
(
QString
)));
connect
(
m_gdbAdapter
,
SIGNAL
(
adapterCrashed
(
QString
)),
this
,
SLOT
(
handleAdapterCrashed
(
QString
)));
}
void
GdbEngine
::
initializeVariables
()
{
m_debuggingHelperState
=
DebuggingHelperUninitialized
;
...
...
@@ -1723,7 +1692,6 @@ void GdbEngine::detachDebugger()
void
GdbEngine
::
exitDebugger
()
{
disconnectDebuggingHelperActions
();
shutdown
();
}
...
...
@@ -1734,7 +1702,6 @@ void GdbEngine::quitDebugger()
// to force it down. On the other hand, there could be an answer,
// and regular the inferior shutdown procedure could take a while.
// And the RunControl::stop() is called synchroneously.
disconnectDebuggingHelperActions
();
shutdown
();
initializeVariables
();
setState
(
DebuggerNotReady
);
...
...
@@ -1809,10 +1776,15 @@ void GdbEngine::startDebugger()
m_gdbAdapter
=
createAdapter
();
//qDebug() << "CREATED ADAPTER: " << m_gdbAdapter;
connectAdapter
();
if
(
m_gdbAdapter
->
dumperHandling
()
!=
AbstractGdbAdapter
::
DumperNotAvailable
)
connectDebuggingHelperActions
();
if
(
m_gdbAdapter
->
dumperHandling
()
!=
AbstractGdbAdapter
::
DumperNotAvailable
)
{
connect
(
theDebuggerAction
(
UseDebuggingHelpers
),
SIGNAL
(
valueChanged
(
QVariant
)),
this
,
SLOT
(
setUseDebuggingHelpers
(
QVariant
)));
connect
(
theDebuggerAction
(
DebugDebuggingHelpers
),
SIGNAL
(
valueChanged
(
QVariant
)),
this
,
SLOT
(
setDebugDebuggingHelpersClassic
(
QVariant
)));
connect
(
theDebuggerAction
(
RecheckDebuggingHelpers
),
SIGNAL
(
triggered
()),
this
,
SLOT
(
recheckDebuggingHelperAvailabilityClassic
()));
}
m_progress
->
setProgressValue
(
20
);
QTC_ASSERT
(
state
()
==
EngineStarting
,
/**/
);
...
...
src/plugins/debugger/gdb/gdbengine.h
View file @
405f340e
...
...
@@ -126,7 +126,6 @@ private: ////////// General State //////////
private:
////////// Gdb Process Management //////////
AbstractGdbAdapter
*
createAdapter
();
void
connectAdapter
();
bool
startGdb
(
const
QStringList
&
args
=
QStringList
(),
const
QString
&
gdb
=
QString
(),
const
QString
&
settingsIdHint
=
QString
());
...
...
@@ -135,23 +134,30 @@ private: ////////// Gdb Process Management //////////
void
handleInferiorShutdown
(
const
GdbResponse
&
response
);
void
handleGdbExit
(
const
GdbResponse
&
response
);
private
slots
:
void
handleGdbFinished
(
int
,
QProcess
::
ExitStatus
status
);
void
handleGdbError
(
QProcess
::
ProcessError
error
);
void
readGdbStandardOutput
();
void
readGdbStandardError
();
void
readDebugeeOutput
(
const
QByteArray
&
data
);
void
handleAdapterStarted
();
// Something went wrong with the adapter *before* adapterStarted() was emitted.
// Make sure to clean up everything before emitting this signal.
void
handleAdapterStartFailed
(
const
QString
&
msg
,
const
QString
&
settingsIdHint
=
QString
());
// This triggers the initial breakpoint synchronization and causes
// startInferiorPhase2() being called once done.
void
handleInferiorPrepared
();
// The adapter is still running just fine, but it failed to acquire a debuggee.
void
handleInferiorStartFailed
(
const
QString
&
msg
);
// Something went wrong with the adapter *after* adapterStarted() was emitted.
// Make sure to clean up everything before emitting this signal.
void
handleAdapterCrashed
(
const
QString
&
msg
);
private
slots
:
void
handleGdbFinished
(
int
,
QProcess
::
ExitStatus
status
);
void
handleGdbError
(
QProcess
::
ProcessError
error
);
void
readGdbStandardOutput
();
void
readGdbStandardError
();
void
readDebugeeOutput
(
const
QByteArray
&
data
);
private:
QTextCodec
*
m_outputCodec
;
QTextCodec
::
ConverterState
m_outputCodecState
;
...
...
@@ -505,8 +511,6 @@ private: ////////// View & Data Stuff //////////
void
tryLoadDebuggingHelpersClassic
();
void
tryQueryDebuggingHelpersClassic
();
Q_SLOT
void
recheckDebuggingHelperAvailabilityClassic
();
void
connectDebuggingHelperActions
();
void
disconnectDebuggingHelperActions
();
Q_SLOT
void
setDebugDebuggingHelpersClassic
(
const
QVariant
&
on
);
Q_SLOT
void
setUseDebuggingHelpers
(
const
QVariant
&
on
);
...
...
src/plugins/debugger/gdb/localplaingdbadapter.cpp
View file @
405f340e
...
...
@@ -74,7 +74,7 @@ void LocalPlainGdbAdapter::startAdapter()
QStringList
gdbArgs
;
if
(
!
m_outputCollector
.
listen
())
{
emit
a
dapterStartFailed
(
tr
(
"Cannot set up communication with child process: %1"
)
m_engine
->
handleA
dapterStartFailed
(
tr
(
"Cannot set up communication with child process: %1"
)
.
arg
(
m_outputCollector
.
errorString
()),
QString
());
return
;
}
...
...
@@ -90,7 +90,7 @@ void LocalPlainGdbAdapter::startAdapter()
return
;
}
emit
a
dapterStarted
();
m_engine
->
handleA
dapterStarted
();
checkForReleaseBuild
();
}
...
...
src/plugins/debugger/gdb/remotegdbserveradapter.cpp
View file @
405f340e
...
...
@@ -101,7 +101,7 @@ void RemoteGdbServerAdapter::startAdapter()
// FIXME: cleanup missing
return
;
emit
a
dapterStarted
();
m_engine
->
handleA
dapterStarted
();
}
void
RemoteGdbServerAdapter
::
uploadProcError
(
QProcess
::
ProcessError
error
)
...
...
@@ -202,7 +202,7 @@ void RemoteGdbServerAdapter::handleFileExecAndSymbols(const GdbResponse &respons
}
else
{
QString
msg
=
tr
(
"Starting remote executable failed:
\n
"
);
msg
+=
QString
::
fromLocal8Bit
(
response
.
data
.
findChild
(
"msg"
).
data
());
emit
i
nferiorStartFailed
(
msg
);
m_engine
->
handleI
nferiorStartFailed
(
msg
);
}
}
...
...
@@ -214,12 +214,12 @@ void RemoteGdbServerAdapter::handleTargetRemote(const GdbResponse &record)
// gdb server will stop the remote application itself.
showMessage
(
_
(
"INFERIOR STARTED"
));
showMessage
(
msgAttachedToStoppedInferior
(),
StatusBar
);
emit
i
nferiorPrepared
();
m_engine
->
handleI
nferiorPrepared
();
}
else
{
// 16^error,msg="hd:5555: Connection timed out."
QString
msg
=
msgConnectRemoteServerFailed
(
QString
::
fromLocal8Bit
(
record
.
data
.
findChild
(
"msg"
).
data
()));
emit
i
nferiorStartFailed
(
msg
);
m_engine
->
handleI
nferiorStartFailed
(
msg
);
}
}
...
...
src/plugins/debugger/gdb/remoteplaingdbadapter.cpp
View file @
405f340e
...
...
@@ -55,7 +55,7 @@ void RemotePlainGdbAdapter::startAdapter()
m_gdbProc
.
setEnvironment
(
startParameters
().
environment
);
if
(
m_engine
->
startGdb
(
QStringList
(),
m_engine
->
startParameters
().
debuggerCommand
))
emit
a
dapterStarted
();
m_engine
->
handleA
dapterStarted
();
}
void
RemotePlainGdbAdapter
::
interruptInferior
()
...
...
src/plugins/debugger/gdb/tcftrkgdbadapter.cpp
View file @
405f340e
...
...
@@ -252,13 +252,13 @@ void TcfTrkGdbAdapter::handleTargetRemote(const GdbResponse &record)
QTC_ASSERT
(
state
()
==
InferiorStarting
,
qDebug
()
<<
state
());
if
(
record
.
resultClass
==
GdbResultDone
)
{
setState
(
InferiorStopped
);
emit
i
nferiorPrepared
();
m_engine
->
handleI
nferiorPrepared
();
if
(
debug
)
qDebug
()
<<
"handleTargetRemote"
<<
m_session
.
toString
();
}
else
{
QString
msg
=
tr
(
"Connecting to TRK server adapter failed:
\n
"
)
+
QString
::
fromLocal8Bit
(
record
.
data
.
findChild
(
"msg"
).
data
());
emit
i
nferiorStartFailed
(
msg
);
m_engine
->
handleI
nferiorStartFailed
(
msg
);
}
}
...
...
@@ -324,16 +324,16 @@ void TcfTrkGdbAdapter::startGdb()
cleanup
();
return
;
}
emit
a
dapterStarted
();
m_engine
->
handleA
dapterStarted
();
}
void
TcfTrkGdbAdapter
::
tcftrkDeviceError
(
const
QString
&
errorString
)
{
logMessage
(
errorString
);
if
(
state
()
==
EngineStarting
)
{
emit
a
dapterStartFailed
(
errorString
,
QString
());
m_engine
->
handleA
dapterStartFailed
(
errorString
,
QString
());
}
else
{
emit
a
dapterCrashed
(
errorString
);
m_engine
->
handleA
dapterCrashed
(
errorString
);
}
}
...
...
@@ -935,16 +935,17 @@ void TcfTrkGdbAdapter::startAdapter()
if
(
debug
)
qDebug
()
<<
parameters
.
processArgs
;
// Fixme: 1 of 3 testing hacks.
if
(
parameters
.
processArgs
.
size
()
>=
5
&&
parameters
.
processArgs
.
at
(
0
)
==
_
(
"@tcf@"
))
{
m_remoteExecutable
=
parameters
.
processArgs
.
at
(
1
);
m_uid
=
parameters
.
processArgs
.
at
(
2
).
toUInt
(
0
,
16
);
m_symbolFile
=
parameters
.
processArgs
.
at
(
3
);
tcfTrkAddress
=
parameters
.
processArgs
.
at
(
4
);
m_remoteArguments
.
clear
();
}
else
{
emit
adapterStartFailed
(
_
(
"Parameter error"
),
QString
());
if
(
parameters
.
processArgs
.
size
()
<
5
||
parameters
.
processArgs
.
at
(
0
)
!=
_
(
"@tcf@"
))
{
m_engine
->
handleAdapterStartFailed
(
_
(
"Parameter error"
),
QString
());
return
;
}
m_remoteExecutable
=
parameters
.
processArgs
.
at
(
1
);
m_uid
=
parameters
.
processArgs
.
at
(
2
).
toUInt
(
0
,
16
);
m_symbolFile
=
parameters
.
processArgs
.
at
(
3
);
tcfTrkAddress
=
parameters
.
processArgs
.
at
(
4
);
m_remoteArguments
.
clear
();
// Unixish gdbs accept only forward slashes
m_symbolFile
.
replace
(
QLatin1Char
(
'\\'
),
QLatin1Char
(
'/'
));
// Start
...
...
@@ -960,7 +961,7 @@ void TcfTrkGdbAdapter::startAdapter()
QString
msg
=
QString
(
"Unable to start the gdb server at %1: %2."
)
.
arg
(
m_gdbServerName
).
arg
(
m_gdbServer
->
errorString
());
logMessage
(
msg
,
LogError
);
emit
a
dapterStartFailed
(
msg
,
QString
());
m_engine
->
handleA
dapterStartFailed
(
msg
,
QString
());
return
;
}
...
...
@@ -1004,7 +1005,7 @@ void TcfTrkGdbAdapter::handleCreateProcess(const tcftrk::TcfTrkCommandResult &re
if
(
!
result
)
{
const
QString
errorMessage
=
result
.
errorString
();
logMessage
(
QString
::
fromLatin1
(
"Failed to start process: %1"
).
arg
(
errorMessage
),
LogError
);
emit
i
nferiorStartFailed
(
result
.
errorString
());
m_engine
->
handleI
nferiorStartFailed
(
result
.
errorString
());
return
;
}
QTC_ASSERT
(
!
result
.
values
.
isEmpty
(),
return
);
...
...
src/plugins/debugger/gdb/termgdbadapter.cpp
View file @
405f340e
...
...
@@ -99,7 +99,7 @@ void TermGdbAdapter::startAdapter()
if
(
!
m_stubProc
.
start
(
startParameters
().
executable
,
startParameters
().
processArgs
))
{
// Error message for user is delivered via a signal.
emit
a
dapterStartFailed
(
QString
(),
QString
());
m_engine
->
handleA
dapterStartFailed
(
QString
(),
QString
());
return
;
}
...
...
@@ -112,7 +112,7 @@ void TermGdbAdapter::startAdapter()
void
TermGdbAdapter
::
handleInferiorStarted
()
{
QTC_ASSERT
(
state
()
==
EngineStarting
,
qDebug
()
<<
state
());
emit
a
dapterStarted
();
m_engine
->
handleA
dapterStarted
();
}
void
TermGdbAdapter
::
startInferior
()
...
...
@@ -130,13 +130,13 @@ void TermGdbAdapter::handleStubAttached(const GdbResponse &response)
if
(
response
.
resultClass
==
GdbResultDone
)
{
setState
(
InferiorStopped
);
showMessage
(
_
(
"INFERIOR ATTACHED"
));
emit
i
nferiorPrepared
();
m_engine
->
handleI
nferiorPrepared
();
#ifdef Q_OS_LINUX
m_engine
->
postCommand
(
"-stack-list-frames 0 0"
,
CB
(
handleEntryPoint
));
#endif
}
else
if
(
response
.
resultClass
==
GdbResultError
)
{
QString
msg
=
QString
::
fromLocal8Bit
(
response
.
data
.
findChild
(
"msg"
).
data
());
emit
i
nferiorStartFailed
(
msg
);
m_engine
->
handleI
nferiorStartFailed
(
msg
);
}
}
...
...
@@ -174,7 +174,7 @@ void TermGdbAdapter::stubExited()
showMessage
(
_
(
"STUB EXITED"
));
if
(
state
()
!=
EngineStarting
// From previous instance
&&
state
()
!=
EngineShuttingDown
&&
state
()
!=
DebuggerNotReady
)
emit
a
dapterCrashed
(
QString
());
m_engine
->
handleA
dapterCrashed
(
QString
());
}
}
// namespace Internal
...
...
src/plugins/debugger/gdb/trkgdbadapter.cpp
View file @
405f340e
...
...
@@ -254,7 +254,7 @@ void TrkGdbAdapter::emitDelayedInferiorStartFailed(const QString &msg)
void
TrkGdbAdapter
::
slotEmitDelayedInferiorStartFailed
()
{
emit
i
nferiorStartFailed
(
m_adapterFailMessage
);
m_engine
->
handleI
nferiorStartFailed
(
m_adapterFailMessage
);
}
...
...
@@ -892,7 +892,7 @@ void TrkGdbAdapter::sendTrkAck(trk::byte token)
void
TrkGdbAdapter
::
handleTrkError
(
const
QString
&
msg
)
{
logMessage
(
"## TRK ERROR: "
+
msg
,
LogError
);
emit
a
dapterCrashed
(
"TRK problem encountered:
\n
"
+
msg
);
m_engine
->
handleA
dapterCrashed
(
"TRK problem encountered:
\n
"
+
msg
);
}
void
TrkGdbAdapter
::
handleTrkResult
(
const
TrkResult
&
result
)
...
...
@@ -1409,7 +1409,7 @@ void TrkGdbAdapter::slotStartGdb()
cleanup
();
return
;
}
emit
a
dapterStarted
();
m_engine
->
handleA
dapterStarted
();
}
void
TrkGdbAdapter
::
handleDisconnect
(
const
TrkResult
&
/*result*/
)
...
...
@@ -1440,7 +1440,7 @@ void TrkGdbAdapter::trkDeviceRemoved(const SymbianUtils::SymbianDevice &dev)
if
(
state
()
!=
DebuggerNotReady
&&
!
m_trkDevice
.
isNull
()
&&
m_trkDevice
->
port
()
==
dev
.
portName
())
{
const
QString
message
=
QString
::
fromLatin1
(
"Device '%1' has been disconnected."
).
arg
(
dev
.
friendlyName
());
logMessage
(
message
);
emit
a
dapterCrashed
(
message
);
m_engine
->
handleA
dapterCrashed
(
message
);
}
}
...
...
@@ -1509,10 +1509,10 @@ void TrkGdbAdapter::startAdapter()
QString
message
;
if
(
!
initializeDevice
(
parameters
.
remoteChannel
,
&
message
))
{
if
(
message
.
isEmpty
())
{
emit
a
dapterStartFailed
(
QString
(),
QString
());
m_engine
->
handleA
dapterStartFailed
(
QString
(),
QString
());
}
else
{
logMessage
(
message
,
LogError
);
emit
a
dapterStartFailed
(
message
,
QString
());
m_engine
->
handleA
dapterStartFailed
(
message
,
QString
());
}
return
;
}
...
...
@@ -1525,7 +1525,7 @@ void TrkGdbAdapter::startAdapter()
QString
msg
=
QString
(
"Unable to start the gdb server at %1: %2."
)
.
arg
(
m_gdbServerName
).
arg
(
m_gdbServer
->
errorString
());
logMessage
(
msg
,
LogError
);
emit
a
dapterStartFailed
(
msg
,
QString
());
m_engine
->
handleA
dapterStartFailed
(
msg
,
QString
());
return
;
}
...
...
@@ -1605,11 +1605,11 @@ void TrkGdbAdapter::handleTargetRemote(const GdbResponse &record)
QTC_ASSERT
(
state
()
==
InferiorStarting
,
qDebug
()
<<
state
());
if
(
record
.
resultClass
==
GdbResultDone
)
{
setState
(
InferiorStopped
);
emit
i
nferiorPrepared
();
m_engine
->
handleI
nferiorPrepared
();
}
else
{
QString
msg
=
tr
(
"Connecting to TRK server adapter failed:
\n
"
)
+
QString
::
fromLocal8Bit
(
record
.
data
.
findChild
(
"msg"
).
data
());
emit
i
nferiorStartFailed
(
msg
);
m_engine
->
handleI
nferiorStartFailed
(
msg
);
}
}
...
...
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