Hi John,
Thanks for
your effort. Here are my
findings. I hope you find them useful:
1) Jump to
address combo box and 'Go
to address' action under toolbar menu are not working. If these
features
are not supported for CDI, then we should probably disable or hide them.
2) Clicking on
'View Disassembly' from
<unknown> editor, opens up CDI disassembly instead of DSF
disassembly. I
guess this can be switched when we replace CDI's disassembly.
<unknown> editor pops up after starting a debug session and the
source
file cannot be found.
3) Resize
disassembly view to a small size,
start a debug session, now resize it a bigger size, notice the empty
lines in
disassembly view. Clicking on refresh doesn't resolve the issue.
Reselecting the stack frame populates the empty lines. I believe this
is
a general problem with disassembly view. I reproduced it with DSF
debugger too.

- There are
dotted lines displayed between
each source line (see snapshot below):

- I somehow get
the following exception.
Sometimes I get it when I start a debug session and sometimes I get it
when I
switch between views and switch back to DSF Disassembly.
java.lang.ArrayIndexOutOfBoundsException:
1
at
org.eclipse.cdt.debug.internal.ui.disassembly.dsf.DisassemblyBackendCdi.retrieveFrameAddress(DisassemblyBackendCdi.java:177)
at
org.eclipse.cdt.dsf.debug.internal.ui.disassembly.DisassemblyPart.gotoFrame(DisassemblyPart.java:2077)
at
org.eclipse.cdt.dsf.debug.internal.ui.disassembly.DisassemblyPart.gotoFrame(DisassemblyPart.java:2036)
at
org.eclipse.cdt.dsf.debug.internal.ui.disassembly.DisassemblyPart.gotoFrameIfActive(DisassemblyPart.java:2045)
at
org.eclipse.cdt.dsf.debug.internal.ui.disassembly.DisassemblyPart.setActive(DisassemblyPart.java:1789)
at
org.eclipse.cdt.dsf.debug.internal.ui.disassembly.DisassemblyPart$1.partVisible(DisassemblyPart.java:296)
at
org.eclipse.ui.internal.PartListenerList2$7.run(PartListenerList2.java:172)
at
org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at
org.eclipse.core.runtime.Platform.run(Platform.java:888)
at
org.eclipse.ui.internal.PartListenerList2.fireEvent(PartListenerList2.java:55)
at
org.eclipse.ui.internal.PartListenerList2.firePartVisible(PartListenerList2.java:170)
at
org.eclipse.ui.internal.PartService.firePartVisible(PartService.java:253)
at
org.eclipse.ui.internal.WorkbenchPagePartList.firePartVisible(WorkbenchPagePartList.java:68)
at
org.eclipse.ui.internal.PartList.partVisible(PartList.java:288)
at
org.eclipse.ui.internal.PartList.access$2(PartList.java:277)
at
org.eclipse.ui.internal.PartList$1.propertyChanged(PartList.java:47)
at
org.eclipse.ui.internal.WorkbenchPartReference.fireInternalPropertyChange(WorkbenchPartReference.java:375)
at
org.eclipse.ui.internal.WorkbenchPartReference.fireVisibilityChange(WorkbenchPartReference.java:536)
at
org.eclipse.ui.internal.PartPane.setVisible(PartPane.java:318)
at
org.eclipse.ui.internal.ViewPane.setVisible(ViewPane.java:529)
at
org.eclipse.ui.internal.presentations.PresentablePart.setVisible(PresentablePart.java:180)
at
org.eclipse.ui.internal.presentations.util.PresentablePartFolder.select(PresentablePartFolder.java:270)
at
org.eclipse.ui.internal.presentations.util.LeftToRightTabOrder.select(LeftToRightTabOrder.java:65)
at
org.eclipse.ui.internal.presentations.util.TabbedStackPresentation.selectPart(TabbedStackPresentation.java:473)
at
org.eclipse.ui.internal.PartStack.refreshPresentationSelection(PartStack.java:1254)
at
org.eclipse.ui.internal.PartStack.setSelection(PartStack.java:1207)
at
org.eclipse.ui.internal.PartStack.presentationSelectionChanged(PartStack.java:841)
at
org.eclipse.ui.internal.PartStack.access$1(PartStack.java:827)
at
org.eclipse.ui.internal.PartStack$1.selectPart(PartStack.java:137)
at
org.eclipse.ui.internal.presentations.util.TabbedStackPresentation$1.handleEvent(TabbedStackPresentation.java:133)
at
org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:269)
at
org.eclipse.ui.internal.presentations.util.AbstractTabFolder.fireEvent(AbstractTabFolder.java:278)
at
org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder.access$1(DefaultTabFolder.java:1)
at
org.eclipse.ui.internal.presentations.defaultpresentation.DefaultTabFolder$2.handleEvent(DefaultTabFolder.java:88)
at
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1050)
at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1074)
at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1059)
at
org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:773)
at
org.eclipse.swt.custom.CTabFolder.setSelection(CTabFolder.java:3278)
at
org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2049)
at
org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:331)
at
org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at
org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1050)
at
org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3984)
at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3577)
at
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2407)
at
org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2371)
at
org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2220)
at
org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at
org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at
org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at
org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at
org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:367)
at
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at
java.lang.reflect.Method.invoke(Method.java:585)
at
org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:611)
at
org.eclipse.equinox.launcher.Main.basicRun(Main.java:566)
at
org.eclipse.equinox.launcher.Main.run(Main.java:1363)
at
org.eclipse.equinox.launcher.Main.main(Main.java:1339)
Let me know if
you have any questions.
Regards,
Navid