diff --git a/plugins/org.eclipse.dd.doc.dsf/docs/pda/pda_tutorial_outline.html b/plugins/org.eclipse.dd.doc.dsf/docs/pda/pda_tutorial_outline.html index f87e58b80c8..18f154334d6 100644 --- a/plugins/org.eclipse.dd.doc.dsf/docs/pda/pda_tutorial_outline.html +++ b/plugins/org.eclipse.dd.doc.dsf/docs/pda/pda_tutorial_outline.html @@ -7,17 +7,95 @@
To demonstrate how to write a debugger for Eclipse, we need a language and a run time to debug. For this example, we chose an enhanced push down automata (PDA) assembly language and a simple @@ -164,7 +242,7 @@ line):
-Our PDA assembly language interpreter can be started in either run mode or debug mode. When started in debug mode, the interpreter listens for debug commands on a specified local TCP socket and sends debug @@ -209,59 +287,7 @@ instruction was encountered
TODO: remove this sesion?
-Use of services is intended to allow for maximum level of extendability -and customization. To achieve this, service interfaces should -encapsulate functionality that logically belongs together and at the -same time allow for a managable number of services which have a clear -hierarchy. DSF defines a set of standard debug interfaces (in the -org.eclipse.dd.dsf.debug plugin), and supplies a set of classes that -populate the standard debug views using those interfaces (in the -org.eclipse.dd.dsf.debug.ui plugin). However there are very few -dependencies in these service interfaces and a given debugger -implementation may leave out or replace any of them as its custom -functionality dictates.The standard debug service interfaces include:
-51: 51: public ILaunch getLaunch(ILaunchConfiguration configuration, String mode) throws CoreException {+ name="line59"> 59: }
52: // Need to configure the source locator before creating the launch
name="line55"> 55: // the source lookup adapter.
56: ISourceLocator locator = getSourceLocator(configuration);
58: return new PDALaunch(configuration, mode, locator);
59: }
-
org.eclipse.dd.examples.dsf.timers.TimersVMNode - | + style="font-family: monospace; font-weight: bold;">org.eclipse.dd.examples.pda.service.PDABreakpointAttributeTranslator +- getBreakpointAttributes()||
+ |
+ 65: public List<Map<String, Object>> getBreakpointAttributes(IBreakpoint bp, boolean bpManagerEnabled) |
org.eclipse.dd.examples.pda.service.PDAStack +- getFrames() | +|
+ |
+
+ 244: public void getFrames(IDMContext context, final DataRequestMonitor<IFrameDMContext[]> rm) {+ |
+
org.eclipse.dd.examples.pda.service.PDAStack +- FrameDMContext | +|
+ |
+
+ 54: private static class FrameDMContext extends AbstractDMContext implements IFrameDMContext {+ |
+
org.eclipse.dd.examples.pda.service.PDAStack +- FrameDMData | +|
+ |
+
+ 85: private static class FrameDMData implements IFrameDMData {+ |
+
![]() + |
+
Image 3: Components involved in Source
+Display + |
+
The second step is to register a DSF source display adapter.
+This has actually already
+been accomplished in Step 3 - View
+Model, when registering the View Model adapters.
+
org.eclipse.dd.examples.pda.service.PDAStack +- VariableDMContext | +|
+ |
+
+ 117: @Immutable+ |
+
org.eclipse.dd.examples.pda.service.PDAStack +- getLocals() | +|
+ |
+
+ 271: public void getLocals(final IFrameDMContext frameCtx, final DataRequestMonitor<IVariableDMContext[]> rm) {+ |
+
org.eclipse.dd.examples.pda.service.PDAExpressions +- createExpression() | +|
+ |
+
+ 213: public IExpressionDMContext createExpression(IDMContext ctx, String expression) {+ |
+
org.eclipse.dd.examples.pda.service.PDAExpressions +- getAvailableFormats() | +|
+ |
+
+ 262: public void getAvailableFormats(IFormattedDataDMContext dmc, DataRequestMonitor<String[]> rm) {+ |
+
org.eclipse.dd.examples.pda.service.PDAExpressions +- getFormattedExpressionValue() | +|
+ |
+
+ 274: public void getFormattedExpressionValue(FormattedValueDMContext formattedCtx,+ |
+