Skip to main content

[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>&nbsp;</DIV>
> <DIV><FONT face=3DArial size=3D2>I again have some problem when "step =
> in"&nbsp; in=20
> external function(laying in file out of workspace) while debugging.=20
> </FONT></DIV>
> <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</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>&nbsp;</DIV>
> <DIV><FONT face=3DArial =
> size=3D2>java.lang.NullPointerException<BR>&nbsp;at=20
> org.eclipse.cdt.internal.core.model.Openable.&lt;init&gt;(Openable.java:3=
> 6)<BR>&nbsp;at=20
> org.eclipse.cdt.internal.core.model.TranslationUnit.&lt;init&gt;(Translat=
> ionUnit.java:41)<BR>&nbsp;at=20
> org.eclipse.cdt.internal.core.model.WorkingCopy.getOriginalElement(Workin=
> gCopy.java:177)<BR>&nbsp;at=20
> org.eclipse.cdt.internal.core.model.WorkingCopy.openBuffer(WorkingCopy.ja=
> va:252)<BR>&nbsp;at=20
> org.eclipse.cdt.internal.core.model.Openable.getBuffer(Openable.java:129)=
> <BR>&nbsp;at=20
> org.eclipse.cdt.internal.core.model.TranslationUnit.parse(TranslationUnit=
> .java:483)<BR>&nbsp;at=20
> org.eclipse.cdt.internal.core.model.TranslationUnit.generateInfos(Transla=
> tionUnit.java:324)<BR>&nbsp;at=20
> org.eclipse.cdt.internal.core.model.TranslationUnit.buildStructure(Transl=
> ationUnit.java:243)<BR>&nbsp;at=20
> org.eclipse.cdt.internal.core.model.Openable.openWhenClosed(Openable.java=
> :275)<BR>&nbsp;at=20
> org.eclipse.cdt.internal.core.model.CElement.openHierarchy(CElement.java:=
> 315)<BR>&nbsp;at=20
> org.eclipse.cdt.internal.core.model.CElement.getElementInfo(CElement.java=
> :198)<BR>&nbsp;at=20
> org.eclipse.cdt.internal.core.model.Parent.getChildren(Parent.java:47)<BR=
> >&nbsp;at=20
> org.eclipse.cdt.internal.ui.BaseCElementContentProvider.getChildren(BaseC=
> ElementContentProvider.java:129)<BR>&nbsp;at=20
> org.eclipse.cdt.internal.ui.BaseCElementContentProvider.getElements(BaseC=
> ElementContentProvider.java:100)<BR>&nbsp;at=20
> org.eclipse.jface.viewers.StructuredViewer.getRawChildren(StructuredViewe=
> r.java:507)<BR>&nbsp;at=20
> org.eclipse.jface.viewers.AbstractTreeViewer.getRawChildren(AbstractTreeV=
> iewer.java:650)<BR>&nbsp;at=20
> org.eclipse.jface.viewers.StructuredViewer.getFilteredChildren(Structured=
> Viewer.java:454)<BR>&nbsp;at=20
> org.eclipse.jface.viewers.StructuredViewer.getSortedChildren(StructuredVi=
> ewer.java:558)<BR>&nbsp;at=20
> org.eclipse.jface.viewers.AbstractTreeViewer$1.run(AbstractTreeViewer.jav=
> a:301)<BR>&nbsp;at=20
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)<BR>=
> &nbsp;at=20
> org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeV=
> iewer.java:289)<BR>&nbsp;at=20
> org.eclipse.jface.viewers.AbstractTreeViewer$5.run(AbstractTreeViewer.jav=
> a:729)<BR>&nbsp;at=20
> org.eclipse.jface.viewers.StructuredViewer.preservingSelection(Structured=
> Viewer.java:801)<BR>&nbsp;at=20
> org.eclipse.jface.viewers.AbstractTreeViewer.inputChanged(AbstractTreeVie=
> wer.java:721)<BR>&nbsp;at=20
> org.eclipse.jface.viewers.ContentViewer.setInput(ContentViewer.java:238)<=
> BR>&nbsp;at=20
> org.eclipse.jface.viewers.StructuredViewer.setInput(StructuredViewer.java=
> :991)<BR>&nbsp;at=20
> org.eclipse.cdt.internal.ui.editor.CContentOutlinePage.createControl(CCon=
> tentOutlinePage.java:199)<BR>&nbsp;at=20
> org.eclipse.ui.views.contentoutline.ContentOutline.doCreatePage(ContentOu=
> tline.java:125)<BR>&nbsp;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>=
> &nbsp;at=20
> org.eclipse.ui.views.contentoutline.ContentOutline.partBroughtToTop(Conte=
> ntOutline.java:191)<BR>&nbsp;at=20
> org.eclipse.ui.internal.PartListenerList$2.run(PartListenerList.java:69)<=
> BR>&nbsp;at=20
> org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.j=
> ava:889)<BR>&nbsp;at=20
> org.eclipse.core.runtime.Platform.run(Platform.java:413)<BR>&nbsp;at=20
> org.eclipse.ui.internal.PartListenerList.firePartBroughtToTop(PartListene=
> rList.java:67)<BR>&nbsp;at=20
> org.eclipse.ui.internal.WorkbenchPage.firePartBroughtToTop(WorkbenchPage.=
> java:1194)<BR>&nbsp;at=20
> org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2=
> 082)<BR>&nbsp;at=20
> org.eclipse.ui.internal.WorkbenchPage.access$6(WorkbenchPage.java:2004)<B=
> R>&nbsp;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>=
> &nbsp;at=20
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:1986)=
> <BR>&nbsp;at=20
> org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:1919)=
> <BR>&nbsp;at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView$4.run(LaunchView.ja=
> va:813)<BR>&nbsp;at=20
> org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:69)<BR>=
> &nbsp;at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditor(LaunchVi=
> ew.java:822)<BR>&nbsp;at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditor(LaunchVi=
> ew.java:784)<BR>&nbsp;at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView.openEditorForStackF=
> rame(LaunchView.java:651)<BR>&nbsp;at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView.showEditorForCurren=
> tSelection(LaunchView.java:570)<BR>&nbsp;at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView.selectionChanged(La=
> unchView.java:446)<BR>&nbsp;at=20
> org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:159)<BR>&nbsp;at=20
> org.eclipse.core.internal.runtime.InternalPlatform.run(InternalPlatform.j=
> ava:889)<BR>&nbsp;at=20
> org.eclipse.core.runtime.Platform.run(Platform.java:413)<BR>&nbsp;at=20
> org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:157)<BR=
> >&nbsp;at=20
> org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredView=
> er.java:1290)<BR>&nbsp;at=20
> org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.=
> java:1020)<BR>&nbsp;at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchView.autoExpand(LaunchVi=
> ew.java:966)<BR>&nbsp;at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandl=
> eSuspendThreadEvent(LaunchViewEventHandler.java:235)<BR>&nbsp;at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandl=
> eSuspendEvent(LaunchViewEventHandler.java:181)<BR>&nbsp;at=20
> org.eclipse.debug.internal.ui.views.launch.LaunchViewEventHandler.doHandl=
> eDebugEvents(LaunchViewEventHandler.java:102)<BR>&nbsp;at=20
> org.eclipse.debug.internal.ui.views.AbstractDebugEventHandler$1.run(Abstr=
> actDebugEventHandler.java:70)<BR>&nbsp;at=20
> org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)<BR>&nbsp;a=
> t=20
> org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:9=
> 8)<BR>&nbsp;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>&nbsp;at=20
> org.eclipse.core.internal.boot.InternalBootLoader.run(InternalBootLoader.=
> java:845)<BR>&nbsp;at=20
> org.eclipse.core.boot.BootLoader.run(BootLoader.java:461)<BR>&nbsp;at=20
> java.lang.reflect.Method.invoke(Native Method)<BR>&nbsp;at=20
> org.eclipse.core.launcher.Main.basicRun(Main.java:291)<BR>&nbsp;at=20
> org.eclipse.core.launcher.Main.run(Main.java:747)<BR>&nbsp;at=20
> org.eclipse.core.launcher.Main.main(Main.java:583)<BR></FONT></DIV>
> <DIV><FONT face=3DArial size=3D2>&nbsp;After that work continues =
> normally. And then=20
> no errors occur.</FONT></DIV>
> <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
> <DIV><FONT face=3DArial size=3D2>&nbsp;It's easy to find out that error =
> occurs=20
> there:</FONT></DIV>
> <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
> <DIV><FONT face=3DArial=20
> size=3D2>&nbsp;org.eclipse.cdt.internal.ui.editor.CContentOutlinePage.cre=
> ateControl(CContentOutlinePage.java:199)</FONT></DIV>
> <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
> <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
> <DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</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>&nbsp;</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>&nbsp;</DIV></BODY></HTML>
> 
> 



Back to the top