[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-debug-dev] "Stepping in" in "external" functions
|
>
> Hi all!!!!
>
> I again have some problem when "step in" in external function(laying in =
> file out of workspace) while debugging.=20
>
Yes this is a bug. The C/C++ parser relies too much on the existence of an IFile.
Please file a PR, so we can track this that and eventually fix it in the head and
the 1.1 branch.
The workaround at this moment is
- to "import" the missing files
- never to use the outliner 8-)
- not to step in 8-)
File the PR in Core, it is not a cdt-debug bug.
Thanks for looking at this.
> Now after "step in" error dialog occurs and such diagnostic appeares in =
> .log:
>
> java.lang.NullPointerException
> at =
> org.eclipse.cdt.internal.core.model.Openable.<init>(Openable.java:36)
> at =
> org.eclipse.cdt.internal.core.model.TranslationUnit.<init>(TranslationUni=
> t.java:41)
> at =
> org.eclipse.cdt.internal.core.model.WorkingCopy.getOriginalElement(Workin=
> gCopy.java:177)
> at =
> org.eclipse.cdt.internal.core.model.WorkingCopy.openBuffer(WorkingCopy.ja=
> va:252)
> at =
> org.eclipse.cdt.internal.core.model.Openable.getBuffer(Openable.java:129)=
>
> at =
> org.eclipse.cdt.internal.core.model.TranslationUnit.parse(TranslationUnit=
> .java:483)
> at =
> org.eclipse.cdt.internal.core.model.TranslationUnit.generateInfos(Transla=
> tionUnit.java:324)
> at =
> org.eclipse.cdt.internal.core.model.TranslationUnit.buildStructure(Transl=
> ationUnit.java:243)
> at =
> org.eclipse.cdt.internal.core.model.Openable.openWhenClosed(Openable.java=
> :275)
> at =
> org.eclipse.cdt.internal.core.model.CElement.openHierarchy(CElement.java:=
> 315)
> at =
> org.eclipse.cdt.internal.core.model.CElement.getElementInfo(CElement.java=
> :198)
> at =
> org.eclipse.cdt.internal.core.model.Parent.getChildren(Parent.java:47)
> at =
> org.eclipse.cdt.internal.ui.BaseCElementContentProvider.getChildren(BaseC=
> ElementContentProvider.java:129)
> at =
> org.eclipse.cdt.internal.ui.BaseCElementContentProvider.getElements(BaseC=
> ElementContentProvider.java:100)
> at =
> org.eclipse.jface.viewers.StructuredViewer.getRawChildren(StructuredViewe=
> r.java:507)
> at =
> org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeV=
> iewer.java:650)
> at =
> org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(Structured=
> Viewer.java:454)
> at =
> org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(StructuredVi=
> ewer.java:558)
> at =
> org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.jav=
> a:301)
> at =
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
> at =
> org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeV=
> iewer.java:289)
> at =
> org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.jav=
> a:729)
> at =
> org.eclipse.jface.viewers.StructuredViewer.preservingSelection(Structured=
> Viewer.java:801)
> at =
> org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeVie=
> wer.java:721)
> at =
> org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:238)
> at =
> org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java=
> :991)
> at =
> org.eclipse.cdt.internal.ui.editor.CContentOutlinePage.createControl(CCon=
> tentOutlinePage.java:199)
> at =
> org.eclipse.ui.views.contentoutline.ContentOutline.doCreatePage(ContentOu=
> tline.java:125)
> at org.eclipse.ui.part.PageBookView.createPage(PageBookView.java:306)
> at =
> org.eclipse.ui.part.PageBookView.partActivated(PageBookView.java:561)
> at =
> org.eclipse.ui.views.contentoutline.ContentOutline.partBroughtToTop(Conte=
> ntOutline.java:191)
> at =
> org.eclipse.ui.internal.PartListenerList$2.run(PartListenerList.java:69)
> at =
> org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.j=
> ava:889)
> at org.eclipse.core.runtime.Platform.run(Platform.java:413)
> at =
> org.eclipse.ui.internal.PartListenerList.firePartBroughtToTop(PartListene=
> rList.java:67)
> at =
> org.eclipse.ui.internal.WorkbenchPage.firePartBroughtToTop(WorkbenchPage.=
> java:1194)
> at =
> org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2=
> 082)
> at =
> org.eclipse.ui.internal.WorkbenchPage.access$6(WorkbenchPage.java:2004)
> at org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:1991)
> at =
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
> at =
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:1986)=
>
> at =
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:1919)=
>
> at =
> org.eclipse.debug.internal.ui.views.launch.LaunchView$4.run(LaunchView.ja=
> va:813)
> at =
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)
> at =
> org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditor(LaunchVi=
> ew.java:822)
> at =
> org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditor(LaunchVi=
> ew.java:784)
> at =
> org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditorForStackF=
> rame(LaunchView.java:651)
> at =
> org.eclipse.debug.internal.ui.views.launch.LaunchView.showEditorForCurren=
> tSelection(LaunchView.java:570)
> at =
> org.eclipse.debug.internal.ui.views.launch.LaunchView.selectionChanged(La=
> unchView.java:446)
> at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:159)
> at =
> org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.j=
> ava:889)
> at org.eclipse.core.runtime.Platform.run(Platform.java:413)
> at =
> org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:157)
> at =
> org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredView=
> er.java:1290)
> at =
> org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.=
> java:1020)
> at =
> org.eclipse.debug.internal.ui.views.launch.LaunchView.autoExpand(LaunchVi=
> ew.java:966)
> at =
> org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandl=
> eSuspendThreadEvent(LaunchViewEventHandler.java:235)
> at =
> org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandl=
> eSuspendEvent(LaunchViewEventHandler.java:181)
> at =
> org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandl=
> eDebugEvents(LaunchViewEventHandler.java:102)
> at =
> org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler$1.run(Abstr=
> actDebugEventHandler.java:70)
> at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
> at =
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:9=
> 8)
> at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:1815)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1549)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1402)
> at org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)
> at =
> org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.=
> java:845)
> at org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)
> at java.lang.reflect.Method.invoke(Native Method)
> at org.eclipse.core.launcher.Main.basicRun(Main.java:291)
> at org.eclipse.core.launcher.Main.run(Main.java:747)
> at org.eclipse.core.launcher.Main.main(Main.java:583)
>
> After that work continues normally. And then no errors occur.
>
> It's easy to find out that error occurs there:
>
> =
> org.eclipse.cdt.internal.ui.editor.CContentOutlinePage.createControl(CCon=
> tentOutlinePage.java:199)
>
>
>
> Thanks, Igor S. Zamyatin
> Interstron Ltd.
>
> http://www.interstron.ru
>
> ------=_NextPart_000_0017_01C329FD.6ED9D460
> Content-Type: text/html;
> charset="koi8-r"
> Content-Transfer-Encoding: quoted-printable
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
> <HTML><HEAD>
> <META http-equiv=3DContent-Type content=3D"text/html; charset=3Dkoi8-r">
> <META content=3D"MSHTML 6.00.2800.1141" name=3DGENERATOR>
> <STYLE></STYLE>
> </HEAD>
> <BODY bgColor=3D#ffffff>
> <DIV><FONT face=3DArial size=3D2>Hi all!!!!</FONT></DIV>
> <DIV><FONT face=3DArial size=3D2></FONT> </DIV>
> <DIV><FONT face=3DArial size=3D2>I again have some problem when "step =
> in" in=20
> external function(laying in file out of workspace) while debugging.=20
> </FONT></DIV>
> <DIV><FONT face=3DArial size=3D2></FONT> </DIV>
> <DIV><FONT face=3DArial size=3D2>Now after "step in" error dialog occurs =
> and such=20
> diagnostic appeares in .log:</FONT></DIV>
> <DIV><FONT face=3DArial size=3D2></FONT> </DIV>
> <DIV><FONT face=3DArial =
> size=3D2>java.lang.NullPointerException<BR> at=20
> org.eclipse.cdt.internal.core.model.Openable.<init>(Openable.java:3=
> 6)<BR> at=20
> org.eclipse.cdt.internal.core.model.TranslationUnit.<init>(Translat=
> ionUnit.java:41)<BR> at=20
> org.eclipse.cdt.internal.core.model.WorkingCopy.getOriginalElement(Workin=
> gCopy.java:177)<BR> at=20
> org.eclipse.cdt.internal.core.model.WorkingCopy.openBuffer(WorkingCopy.ja=
> va:252)<BR> at=20
> org.eclipse.cdt.internal.core.model.Openable.getBuffer(Openable.java:129)=
> <BR> at=20
> org.eclipse.cdt.internal.core.model.TranslationUnit.parse(TranslationUnit=
> .java:483)<BR> at=20
> org.eclipse.cdt.internal.core.model.TranslationUnit.generateInfos(Transla=
> tionUnit.java:324)<BR> at=20
> org.eclipse.cdt.internal.core.model.TranslationUnit.buildStructure(Transl=
> ationUnit.java:243)<BR> at=20
> org.eclipse.cdt.internal.core.model.Openable.openWhenClosed(Openable.java=
> :275)<BR> at=20
> org.eclipse.cdt.internal.core.model.CElement.openHierarchy(CElement.java:=
> 315)<BR> at=20
> org.eclipse.cdt.internal.core.model.CElement.getElementInfo(CElement.java=
> :198)<BR> at=20
> org.eclipse.cdt.internal.core.model.Parent.getChildren(Parent.java:47)<BR=
> > at=20
> org.eclipse.cdt.internal.ui.BaseCElementContentProvider.getChildren(BaseC=
> ElementContentProvider.java:129)<BR> at=20
> org.eclipse.cdt.internal.ui.BaseCElementContentProvider.getElements(BaseC=
> ElementContentProvider.java:100)<BR> at=20
> org.eclipse.jface.viewers.StructuredViewer.getRawChildren(StructuredViewe=
> r.java:507)<BR> at=20
> org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeV=
> iewer.java:650)<BR> at=20
> org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(Structured=
> Viewer.java:454)<BR> at=20
> org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(StructuredVi=
> ewer.java:558)<BR> at=20
> org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.jav=
> a:301)<BR> at=20
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)<BR>=
> at=20
> org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeV=
> iewer.java:289)<BR> at=20
> org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.jav=
> a:729)<BR> at=20
> org.eclipse.jface.viewers.StructuredViewer.preservingSelection(Structured=
> Viewer.java:801)<BR> at=20
> org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeVie=
> wer.java:721)<BR> at=20
> org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:238)<=
> BR> at=20
> org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java=
> :991)<BR> at=20
> org.eclipse.cdt.internal.ui.editor.CContentOutlinePage.createControl(CCon=
> tentOutlinePage.java:199)<BR> at=20
> org.eclipse.ui.views.contentoutline.ContentOutline.doCreatePage(ContentOu=
> tline.java:125)<BR> at=20
> org.eclipse.ui.part.PageBookView.createPage(PageBookView.java:306)<BR>&nb=
> sp;at=20
> org.eclipse.ui.part.PageBookView.partActivated(PageBookView.java:561)<BR>=
> at=20
> org.eclipse.ui.views.contentoutline.ContentOutline.partBroughtToTop(Conte=
> ntOutline.java:191)<BR> at=20
> org.eclipse.ui.internal.PartListenerList$2.run(PartListenerList.java:69)<=
> BR> at=20
> org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.j=
> ava:889)<BR> at=20
> org.eclipse.core.runtime.Platform.run(Platform.java:413)<BR> at=20
> org.eclipse.ui.internal.PartListenerList.firePartBroughtToTop(PartListene=
> rList.java:67)<BR> at=20
> org.eclipse.ui.internal.WorkbenchPage.firePartBroughtToTop(WorkbenchPage.=
> java:1194)<BR> at=20
> org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2=
> 082)<BR> at=20
> org.eclipse.ui.internal.WorkbenchPage.access$6(WorkbenchPage.java:2004)<B=
> R> at=20
> org.eclipse.ui.internal.WorkbenchPage$9.run(WorkbenchPage.java:1991)<BR>&=
> nbsp;at=20
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)<BR>=
> at=20
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:1986)=
> <BR> at=20
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:1919)=
> <BR> at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView$4.run(LaunchView.ja=
> va:813)<BR> at=20
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)<BR>=
> at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditor(LaunchVi=
> ew.java:822)<BR> at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditor(LaunchVi=
> ew.java:784)<BR> at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditorForStackF=
> rame(LaunchView.java:651)<BR> at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView.showEditorForCurren=
> tSelection(LaunchView.java:570)<BR> at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView.selectionChanged(La=
> unchView.java:446)<BR> at=20
> org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:159)<BR> at=20
> org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.j=
> ava:889)<BR> at=20
> org.eclipse.core.runtime.Platform.run(Platform.java:413)<BR> at=20
> org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:157)<BR=
> > at=20
> org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredView=
> er.java:1290)<BR> at=20
> org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.=
> java:1020)<BR> at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView.autoExpand(LaunchVi=
> ew.java:966)<BR> at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandl=
> eSuspendThreadEvent(LaunchViewEventHandler.java:235)<BR> at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandl=
> eSuspendEvent(LaunchViewEventHandler.java:181)<BR> at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandl=
> eDebugEvents(LaunchViewEventHandler.java:102)<BR> at=20
> org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler$1.run(Abstr=
> actDebugEventHandler.java:70)<BR> at=20
> org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)<BR> a=
> t=20
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:9=
> 8)<BR> at=20
> org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:1815)<BR>&n=
> bsp;at=20
> org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1549)<BR>&nb=
> sp;at=20
> org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1402)<BR>&n=
> bsp;at=20
> org.eclipse.ui.internal.Workbench.run(Workbench.java:1385)<BR> at=20
> org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.=
> java:845)<BR> at=20
> org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)<BR> at=20
> java.lang.reflect.Method.invoke(Native Method)<BR> at=20
> org.eclipse.core.launcher.Main.basicRun(Main.java:291)<BR> at=20
> org.eclipse.core.launcher.Main.run(Main.java:747)<BR> at=20
> org.eclipse.core.launcher.Main.main(Main.java:583)<BR></FONT></DIV>
> <DIV><FONT face=3DArial size=3D2> After that work continues =
> normally. And then=20
> no errors occur.</FONT></DIV>
> <DIV><FONT face=3DArial size=3D2></FONT> </DIV>
> <DIV><FONT face=3DArial size=3D2> It's easy to find out that error =
> occurs=20
> there:</FONT></DIV>
> <DIV><FONT face=3DArial size=3D2></FONT> </DIV>
> <DIV><FONT face=3DArial=20
> size=3D2> org.eclipse.cdt.internal.ui.editor.CContentOutlinePage.cre=
> ateControl(CContentOutlinePage.java:199)</FONT></DIV>
> <DIV><FONT face=3DArial size=3D2></FONT> </DIV>
> <DIV><FONT face=3DArial size=3D2></FONT> </DIV>
> <DIV><FONT face=3DArial size=3D2></FONT> </DIV>
> <DIV><FONT face=3DArial size=3D2>Thanks, Igor S. Zamyatin</FONT></DIV>
> <DIV><FONT face=3DArial size=3D2>Interstron Ltd.</FONT></DIV>
> <DIV><FONT face=3DArial size=3D2></FONT> </DIV>
> <DIV><FONT face=3DArial size=3D2>http://www.inte<A=20
> href=3D"http://www.interstron.ru">rstron.ru</A></FONT></DIV>
> <DIV><FONT face=3DArial size=3D2></FONT> </DIV></BODY></HTML>
>
>