Hello,
I’m having a couple of problems with DSF’s
disassembly view that I was hoping someone could shed some light on:
1) When I turn
on/off ‘Show Symbols’ options, disassembly view sometimes doesn’t
automatically trigger a refresh. If the symbols are showing and I turn
off this option, the symbols will continue to show unless I manually refresh
disassembly view.
2) When I play
around with this option and scroll up/down, I sometimes get the following
exception at which point disassembly view starts behaving strangely (see
screenshot). I can no longer scroll up and the ‘Show Symbol’
option doesn’t work any more. Has anyone else experienced
this? Does anyone know what’s causing these issues?

Exception thrown:
org.eclipse.swt.SWTException: Failed to execute runnable (java.lang.IllegalArgumentException:
Argument not valid)
at org.eclipse.swt.SWT.error(SWT.java:3972)
at org.eclipse.swt.SWT.error(SWT.java:3887)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:137)
at
org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3860)
at
org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3481)
at
org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2404)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2368)
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:113)
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:368)
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:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
at org.eclipse.equinox.launcher.Main.main(Main.java:1287)
Caused by:
java.lang.IllegalArgumentException: Argument not valid
at org.eclipse.swt.SWT.error(SWT.java:3953)
at org.eclipse.swt.SWT.error(SWT.java:3887)
at org.eclipse.swt.SWT.error(SWT.java:3858)
at org.eclipse.swt.custom.StyledText.setStyleRanges(StyledText.java:9146)
at
org.eclipse.swt.custom.StyledText.replaceStyleRanges(StyledText.java:7226)
at
org.eclipse.jface.text.TextViewer.addPresentation(TextViewer.java:4776)
at
org.eclipse.jface.text.TextViewer.changeTextPresentation(TextViewer.java:4855)
at org.eclipse.jface.text.presentation.PresentationReconciler.applyTextRegionCollection(PresentationReconciler.java:579)
at
org.eclipse.jface.text.presentation.PresentationReconciler.processDamage(PresentationReconciler.java:568)
at org.eclipse.jface.text.presentation.PresentationReconciler.access$3(PresentationReconciler.java:564)
at
org.eclipse.jface.text.presentation.PresentationReconciler$InternalListener.textChanged(PresentationReconciler.java:225)
at org.eclipse.jface.text.TextViewer.updateTextListeners(TextViewer.java:2806)
at
org.eclipse.jface.text.TextViewer$VisibleDocumentListener.documentChanged(TextViewer.java:401)
at
org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged2(AbstractDocument.java:739)
at org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:712)
at
org.eclipse.jface.text.AbstractDocument.doFireDocumentChanged(AbstractDocument.java:697)
at
org.eclipse.jface.text.AbstractDocument.fireDocumentChanged(AbstractDocument.java:762)
at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1157)
at
org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1176)
at
org.eclipse.cdt.dsf.debug.internal.ui.disassembly.model.DisassemblyDocument.replace(DisassemblyDocument.java:856)
at org.eclipse.cdt.dsf.debug.internal.ui.disassembly.model.DisassemblyDocument.insertAddressRange(DisassemblyDocument.java:934)
at
org.eclipse.cdt.dsf.debug.internal.ui.disassembly.model.DisassemblyDocument.insertDisassemblyLine(DisassemblyDocument.java:962)
at org.eclipse.cdt.dsf.debug.internal.ui.disassembly.DisassemblyPart.insertDisassembly(DisassemblyPart.java:1964)
at
org.eclipse.cdt.dsf.debug.internal.ui.disassembly.DisassemblyPart.access$22(DisassemblyPart.java:1907)
at org.eclipse.cdt.dsf.debug.internal.ui.disassembly.DisassemblyPart$18$1.run(DisassemblyPart.java:1850)
at
org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at
org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
... 23 more
Thanks,
Navid Mehregani