[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Fw: [cdt-dev] Can someone explain the following launch session code in GDBCDIDebugger2 class
|
Hi,
It would be very much useful if someone can clear these doubts.
Thanks & Regards,
- Nayna Jain
----- Forwarded by Nayna Jain/India/IBM on 01/06/2010 05:37 PM -----
Nayna
Jain/India/IBM@IB
MIN To
Sent by: cdt-dev@xxxxxxxxxxx
cdt-dev-bounces@e cc
clipse.org
Subject
[cdt-dev] Can someone explain the
01/05/2010 04:53 following launch session code in
PM GDBCDIDebugger2 class
Please respond to
"CDT General
developers list."
<cdt-dev@eclipse.
org>
Hi,
There is the following code in the method startAttachGDBSession() of
GDBCDIDebugger2 class. The me
try {
CLITargetAttach attach = factory.createCLITargetAttach(
pid );
miSession.postCommand( attach );
MIInfo info = attach.getMIInfo();
if ( info == null ) {
throw new MIException( MIPlugin.getResourceString(
"src.common.No_answer" ) ); //$NON-NLS-1$
}
miSession.getMIInferior().setInferiorPID( pid );
// @@@ for attach we nee to manually set the connected
state
// attach does not send the ^connected ack
miSession.getMIInferior().setConnected();
}
catch( MIException e ) {
throw newCoreException( MessageFormat.format(
MIPlugin.getResourceString( "src.GDBCDIDebugger2.2" ), new Integer[] { new
Integer( pid ) } ), e ); //$NON-NLS-1$
}
// @@@ We have to set the suspended state manually
miSession.getMIInferior().setSuspended();
miSession.getMIInferior().update();
Can some one explain this code ? It would be great if someone can explain
statement wise.
Moreover I observed that the code should work fine even if we comment
miSession.getMIInferior().setInferiorPID(pid);
miSession.getMIInferior().setConnected();
Similarly there is the following code for launching core debug session...
i.e...
protected void startCoreGDBSession( ILaunchConfiguration config, Session
session, IProgressMonitor monitor ) throws CoreException {
getMISession( session ).getMIInferior().setSuspended();
try {
session.getSharedLibraryManager().update();
}
catch( CDIException e ) {
throw newCoreException( e );
}
}
So, in startAttachGDBSession() we do miSession.getMInferior().update()..
But in startCoreGDBSession() we do
miSession.getSharedLibraryManager().update().
Can someone please explain the purpose of each of them.
Thanks & Regards,
Nayna Jain
Nexus Tools Development
Bangalore, India
Contact : 402-56859
_______________________________________________
cdt-dev mailing list
cdt-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/cdt-dev