Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[dsdp-dd-dev] debugger multiplexed input/output

Attached is a trace of what we discussed before.
Here are the explanation:

1/ User set a breakpoint thru the source view
Eclipse emit 3 commands, one per processor.
Only the ARM processor answer that he has set this breakpoint

2/ The ARM is stopped, user clic on the continue button having selected the ARM processor from the debug view
Eclipse send  "ARM-22-exec-continue"

3 /
An event occures to the ARM, the debugger uses the GDB/MI notification mechanism and emit the following:
   ARM-=bind-to-host,client="2",require="output"
This event is treated and dispatched to the graphicla plugin that knows what it means
Then the debugger stops with the following MI output:
"ARM-22*stopped,reason="breakpoint-hit .... etc"





We are going to file bugs for enhancements that are generic enough to have chanced to be integrated into the CVS database. They mainly concerns fields that are considered to be global in actual DSF plugins, but that can be "per processor", like the fIsTargetAvailable and fResetCounter fields of org.eclipse.dd.dsf.debug.CommandCache class for instance, or the fCurrentStackLevel in AbstractMIControl class

There is also a fews bugs that will be contributed like the one that displays the debugger OOBR's (Out Of Band Records) several time into the console.

Regards
Denis
ARM-(ARM)
 => SAA-19-break-insert C:\soft\STM\ST_Nomadik_Toolset_1_0_0_RC2\nmf\examples\helloworld\share\host\src\example.c:176
 => SVA-20-break-insert C:\soft\STM\ST_Nomadik_Toolset_1_0_0_RC2\nmf\examples\helloworld\share\host\src\example.c:176
 => ARM-21-break-insert C:\soft\STM\ST_Nomadik_Toolset_1_0_0_RC2\nmf\examples\helloworld\share\host\src\example.c:176
ARM-21^done,bkpt={number="5",type="breakpoint",disp="keep",enabled="y",addr="0x92c",func="example",file="C:/soft/STM/ST_Nomadik_Toolset_1_0_0_RC2/nmf/examples/helloworld/share/host/src/example.c",fullname="C:/soft/STM/ST_Nomadik_Toolset_1_0_0_RC2/nmf/examples/helloworld/share/host/src/example.c",line="176",times="0"}
ARM-(ARM)
 => ARM-22-exec-continue
ARM-22^running
ARM-(ARM)
ARM-=bind-to-host,client="2",require="output"
ARM-22*stopped,reason="breakpoint-hit",bkptno="5",thread-id="0",frame={addr="0x92c",func="example",args=[{name="argc",value="Not available"},{name="argv",value="Not available"}],file="C:/soft/STM/ST_Nomadik_Toolset_1_0_0_RC2/nmf/examples/helloworld/share/host/src/example.c",fullname="C:/soft/STM/ST_Nomadik_Toolset_1_0_0_RC2/nmf/examples/helloworld/share/host/src/example.c",line="176"}
ARM-(ARM)
 => ARM-23-stack-list-frames
ARM-23^done,stack=[frame={level="0",addr="0x92c",func="example",file="C:/soft/STM/ST_Nomadik_Toolset_1_0_0_RC2/nmf/examples/helloworld/share/host/src/example.c",fullname="C:/soft/STM/ST_Nomadik_Toolset_1_0_0_RC2/nmf/examples/helloworld/share/host/src/example.c",line="176"},frame={level="1",addr="0x12a3b",func="main",file="arm_components/nmf/bare/src/main.c",fullname="",line="202"}]
ARM-(ARM)

Back to the top