Bug 298852 - CDT-Debug doesn't return from command
Summary: CDT-Debug doesn't return from command
Status: NEW
Alias: None
Product: CDT
Classification: Tools
Component: cdt-debug (show other bugs)
Version: 6.0   Edit
Hardware: PC Windows XP
: P3 normal with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: cdt-debug-inbox@eclipse.org CLA
QA Contact: Jonah Graham CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-05 09:04 EST by Daniel Herb CLA
Modified: 2020-09-04 15:26 EDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Daniel Herb CLA 2010-01-05 09:04:19 EST
Hi!

I was only able to reproduce that bug with a complex sample.
To reproduce the error you need Ogre3D with the mingw binaries

Write code like:

#include <Ogre.h>
int main()
{
	new Ogre::Root();
	return 0;
}

That's all. Somehow the Debugger loses control when stepping over "new Ogre::Root();". 
With "loses control" i mean: 
- Thread list shows: "Thread[1]0 (Running : Step)
- It is still possible to stop the whole process
- It's not possible to step further because the last step command seems to run forever
- It doesn't matter if I use steps or just continue. That bug happens everytime. So it isn't possible to debug the application at all

I tried to find the error by myself but apperently I haven't enough knowledge about the design of the cdt debug environment.

It really is a problem of cdt because the same works with console gdb and code-blocks.

If you can give me a hint where to search for the error i would be really happy. For me it looks just like the command waits for a answer of the debugger and doesn't get it. 
Also: The error exists for all debug implementations. I even tested "EDC".
Other people seem to have the same problem:
https://www.ogre3d.org/forums/viewtopic.php?f=2&t=49222&start=0

I know it's a very special problem but I can't work on the project at all. Every little help is welcome!

Thanks
Comment 1 Marc Khouzam CLA 2010-01-05 09:23:05 EST
Which debugger integration are you using CDI or DSF?
Which version of GDB?

If you can include the GDB traces seen in CDT it would help, since it you say it works for GDB CLI.

(This does not seem like a bug that should be 'major' since it is for a very specific situation)
Comment 2 Daniel Herb CLA 2010-01-05 10:08:00 EST
All debugger intergrations are affected.

Sorry for the wrong "importance". I thought that it is major because it isn't possible to workaround the problem and with it it's not possible to debug at all => it's not possible to develop
If you think i should use another importance just say which one you like =)

Thanks for the fast answer

Complete GDB-Trace:
076,609 1source .gdbinit
076,625 &"source .gdbinit\n"
076,625 &".gdbinit: No such file or directory.\n"
076,625 1^error,msg=".gdbinit: No such file or directory."
076,625 (gdb) 
076,625 2-file-exec-and-symbols C:/develop/cpp/WoW/w3/Viewer/Debug/Viewer.exe
076,671 2^done
076,671 (gdb) 
076,671 3-environment-cd C:/develop/cpp/WoW/w3/Viewer
076,671 3^done
076,671 (gdb) 
076,671 4-gdb-set auto-solib-add on
076,687 4^done
076,687 (gdb) 
076,687 5-environment-directory C:/develop/cpp/WoW/w3/Viewer C:/develop/cpp/WoW/w3/Viewer/Debug C:/d\
evelop/cpp/WoW/w3/Viewer/Debug/src C:/develop/cpp/WoW/w3/Viewer/run C:/develop/cpp/WoW/w3/Viewer/src\

076,703 5^done,source-path="C:/develop/cpp/WoW/w3/Viewer;C:/develop/cpp/WoW/w3/Viewer/Debug;C:/devel\
op/cpp/WoW/w3/Viewer/Debug/src;C:/develop/cpp/WoW/w3/Viewer/run;C:/develop/cpp/WoW/w3/Viewer/src;$cd\
ir;$cwd"
076,703 (gdb) 
076,703 6-break-insert -t main
076,734 7-list-thread-groups
076,796 6^done,bkpt={number="1",type="breakpoint",disp="del",enabled="y",addr="0x00401359",func="mai\
n",file="..\\src\\main.cpp",fullname="C:/develop/cpp/WoW/w3/Viewer/Debug/..\\src\\main.cpp",line="5"\
,times="0",original-location="main"}
076,796 (gdb) 
076,796 7^done,groups=[]
076,796 (gdb) 
076,796 8-exec-run
076,796 =thread-group-created,id="3744"
076,812 =thread-created,id="1",group-id="3744"
076,812 ~"[New Thread 3744.0xf30]\n"
076,812 9-list-thread-groups --available
076,812 8^running
076,812 *running,thread-id="all"
076,812 (gdb) 
076,812 &"warning: Can not parse XML library list; XML support was disabled at compile time\n"
076,812 *stopped,reason="breakpoint-hit",disp="del",bkptno="1",frame={addr="0x00401359",func="main",\
args=[],file="..\\src\\main.cpp",fullname="C:/develop/cpp/WoW/w3/Viewer/Debug/..\\src\\main.cpp",lin\
e="5"},thread-id="1",stopped-threads="all"
076,812 (gdb) 
076,812 9^error,msg="Can not fetch data now.\n"
076,812 (gdb) 
076,843 10-list-thread-groups
076,843 10^done,groups=[{id="3744",type="process",pid="3744"}]
076,843 (gdb) 
077,093 11-list-thread-groups 3744
077,093 11^done,threads=[{id="1",target-id="Thread 3744.0xf30",frame={level="0",addr="0x00401359",fu\
nc="main",args=[],file="..\\src\\main.cpp",fullname="C:/develop/cpp/WoW/w3/Viewer/Debug/..\\src\\mai\
n.cpp",line="5"},state="stopped"}]
077,093 (gdb) 
077,093 12-stack-info-depth --thread 1 11
077,109 12^done,depth="1"
077,109 (gdb) 
077,109 13-stack-list-frames --thread 1
077,109 13^done,stack=[frame={level="0",addr="0x00401359",func="main",file="..\\src\\main.cpp",fulln\
ame="C:/develop/cpp/WoW/w3/Viewer/Debug/..\\src\\main.cpp",line="5"}]
077,109 (gdb) 
077,234 14-thread-info 1
077,250 14^done,threads=[{id="1",target-id="Thread 3744.0xf30",frame={level="0",addr="0x00401359",fu\
nc="main",args=[],file="..\\src\\main.cpp",fullname="C:/develop/cpp/WoW/w3/Viewer/Debug/..\\src\\mai\
n.cpp",line="5"},state="stopped"}]
077,250 (gdb) 
077,265 15-stack-list-locals --thread 1 --frame 0 1
077,265 15^done,locals=[{name="root",value="0x413646"}]
077,265 (gdb) 
077,281 16-var-create --thread 1 --frame 0 - * root
077,281 16^done,name="var1",numchild="4",value="0x413646",type="class Ogre::Root *",thread-id="1",ha\
s_more="0"
077,281 (gdb) 
077,281 17-var-list-children var1
077,296 17^done,numchild="4",children=[child={name="var1.Ogre::Singleton<Ogre::Root>",exp="Ogre::Sin\
gleton<Ogre::Root>",numchild="1",type="Ogre::Singleton<Ogre::Root>",thread-id="1"},child={name="var1\
.Ogre::AllocatedObject<Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> >",exp="Ogre::Allocated\
Object<Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> >",numchild="0",type="Ogre::AllocatedOb\
ject<Ogre::CategorisedAllocPolicy<(Ogre::MemoryCategory)0> >",thread-id="1"},child={name="var1.priva\
te",exp="private",numchild="36",thread-id="1"},child={name="var1.protected",exp="protected",numchild\
="15",thread-id="1"}],has_more="0"
077,296 (gdb) 
077,296 18-var-info-path-expression var1.Ogre::Singleton<Ogre::Root>
077,296 19-var-info-path-expression "var1.Ogre::AllocatedObject<Ogre::CategorisedAllocPolicy<(Ogre::\
MemoryCategory)0> >"
077,296 20-var-list-children var1.private
077,296 21-var-list-children var1.protected
077,296 18^done,path_expr="(*(Ogre::Singleton<Ogre::Root>*) root)"
077,296 (gdb) 
077,296 19^done,path_expr="(*(Ogre::AllocatedObject<Ogre::CategorisedAllocPolicy<(Ogre::MemoryCatego\
ry)0> >*) root)"
077,296 (gdb) 
077,296 20^done,numchild="36",children=[child={name="var1.private.mRenderers",exp="mRenderers",numch\
ild="1",type="Ogre::RenderSystemList",thread-id="1"},child={name="var1.private.mActiveRenderer",exp=\
"mActiveRenderer",numchild="0",type="struct Ogre::RenderSystem *",thread-id="1"},child={name="var1.p\
rivate.mVersion",exp="mVersion",numchild="2",type="Ogre::String",thread-id="1"},child={name="var1.pr\
ivate.mConfigFileName",exp="mConfigFileName",numchild="2",type="Ogre::String",thread-id="1"},child={\
name="var1.private.mQueuedEnd",exp="mQueuedEnd",numchild="0",type="bool",thread-id="1"},child={name=\
"var1.private.mFirstTimePostWindowInit",exp="mFirstTimePostWindowInit",numchild="0",type="bool",thre\
ad-id="1"},child={name="var1.private.mLogManager",exp="mLogManager",numchild="3",type="class Ogre::L\
ogManager *",thread-id="1"},child={name="var1.private.mControllerManager",exp="mControllerManager",n\
umchild="3",type="class Ogre::ControllerManager *",thread-id="1"},child={name="var1.private.mSceneMa\
nagerEnum",exp="mSceneManagerEnum",numchild="3",type="class Ogre::SceneManagerEnumerator *",thread-i\
d="1"},child={name="var1.private.mCurrentSceneManager",exp="mCurrentSceneManager",numchild="0",type=\
"struct Ogre::SceneManager *",thread-id="1"},child={name="var1.private.mDynLibManager",exp="mDynLibM\
anager",numchild="0",type="struct Ogre::DynLibManager *",thread-id="1"},child={name="var1.private.mA\
rchiveManager",exp="mArchiveManager",numchild="0",type="struct Ogre::ArchiveManager *",thread-id="1"\
},child={name="var1.private.mMaterialManager",exp="mMaterialManager",numchild="0",type="struct Ogre:\
:MaterialManager *",thread-id="1"},child={name="var1.private.mMeshManager",exp="mMeshManager",numchi\
ld="0",type="struct Ogre::MeshManager *",thread-id="1"},child={name="var1.private.mParticleManager",\
exp="mParticleManager",numchild="0",type="struct Ogre::ParticleSystemManager *",thread-id="1"},child\
={name="var1.private.mSkeletonManager",exp="mSkeletonManager",numchild="0",type="struct Ogre::Skelet\
onManager *",thread-id="1"},child={name="var1.private.mPanelFactory",exp="mPanelFactory",numchild="0\
",type="struct Ogre::OverlayElementFactory *",thread-id="1"},child={name="var1.private.mBorderPanelF\
actory",exp="mBorderPanelFactory",numchild="0",type="struct Ogre::OverlayElementFactory *",thread-id\
="1"},child={name="var1.private.mTextAreaFactory",exp="mTextAreaFactory",numchild="0",type="struct O\
gre::OverlayElementFactory *",thread-id="1"},child={name="var1.private.mOverlayManager",exp="mOverla\
yManager",numchild="0",type="struct Ogre::OverlayManager *",thread-id="1"},child={name="var1.private\
.mFontManager",exp="mFontManager",numchild="0",type="struct Ogre::FontManager *",thread-id="1"},chil\
d={name="var1.private.mZipArchiveFactory",exp="mZipArchiveFactory",numchild="0",type="struct Ogre::A\
rchiveFactory *",thread-id="1"},child={name="var1.private.mFileSystemArchiveFactory",exp="mFileSyste\
mArchiveFactory",numchild="0",type="struct Ogre::ArchiveFactory *",thread-id="1"},child={name="var1.\
private.mResourceGroupManager",exp="mResourceGroupManager",numchild="0",type="struct Ogre::ResourceG\
roupManager *",thread-id="1"},child={name="var1.private.mResourceBackgroundQueue",exp="mResourceBack\
groundQueue",numchild="0",type="struct Ogre::ResourceBackgroundQueue *",thread-id="1"},child={name="\
var1.private.mShadowTextureManager",exp="mShadowTextureManager",numchild="0",type="struct Ogre::Shad\
owTextureManager *",thread-id="1"},child={name="var1.private.mRenderSystemCapabilitiesManager",exp="\
mRenderSystemCapabilitiesManager",numchild="0",type="struct Ogre::RenderSystemCapabilitiesManager *"\
,thread-id="1"},child={name="var1.private.mCompilerManager",exp="mCompilerManager",numchild="0",type\
="struct Ogre::ScriptCompilerManager *",thread-id="1"},child={name="var1.private.mTimer",exp="mTimer\
",numchild="2",type="class Ogre::Timer *",thread-id="1"},child={name="var1.private.mAutoWindow",exp=\
"mAutoWindow",numchild="0",type="struct Ogre::RenderWindow *",thread-id="1"},child={name="var1.priva\
te.mProfiler",exp="mProfiler",numchild="3",type="class Ogre::Profiler *",thread-id="1"},child={name=\
"var1.private.mHighLevelGpuProgramManager",exp="mHighLevelGpuProgramManager",numchild="0",type="stru\
ct Ogre::HighLevelGpuProgramManager *",thread-id="1"},child={name="var1.private.mExternalTextureSour\
ceManager",exp="mExternalTextureSourceManager",numchild="0",type="struct Ogre::ExternalTextureSource\
Manager *",thread-id="1"},child={name="var1.private.mCompositorManager",exp="mCompositorManager",num\
child="0",type="struct Ogre::CompositorManager *",thread-id="1"},child={name="var1.private.mNextFram\
e",exp="mNextFrame",numchild="0",type="unsigned long",thread-id="1"},child={name="var1.private.mFram\
eSmoothingTime",exp="mFrameSmoothingTime",numchild="0",type="Ogre::Real",thread-id="1"}],has_more="0\
"
077,296 (gdb) 
077,312 22-var-info-path-expression var1.private.mRenderers
077,312 23-var-info-path-expression var1.private.mActiveRenderer
077,312 24-var-info-path-expression var1.private.mVersion
077,312 25-var-info-path-expression var1.private.mConfigFileName
077,312 26-var-info-path-expression var1.private.mQueuedEnd
077,312 27-var-info-path-expression var1.private.mFirstTimePostWindowInit
077,312 28-var-info-path-expression var1.private.mLogManager
077,312 29-var-info-path-expression var1.private.mControllerManager
077,312 30-var-info-path-expression var1.private.mSceneManagerEnum
077,312 21^done,numchild="15",children=[child={name="var1.protected.mPluginLibs",exp="mPluginLibs",n\
umchild="1",type="std::vector<Ogre::DynLib*, std::allocator<Ogre::DynLib*> >",thread-id="1"},child={\
name="var1.protected.mPlugins",exp="mPlugins",numchild="1",type="std::vector<Ogre::Plugin*, std::all\
ocator<Ogre::Plugin*> >",thread-id="1"},child={name="var1.protected.mMovableObjectFactoryMap",exp="m\
MovableObjectFactoryMap",numchild="1",type="std::map<std::basic_string<char, std::char_traits<char>,\
 std::allocator<char> >, Ogre::MovableObjectFactory*, std::less<std::basic_string<char, std::char_tr\
aits<char>, std::allocator<char> > >, std::allocator<std::pair<std::basic_string<char, std::char_tra\
its<char>, std::allocator<char> > const, Ogre::MovableObjectFactory*> > >",thread-id="1"},child={nam\
e="var1.protected.mNextMovableObjectTypeFlag",exp="mNextMovableObjectTypeFlag",numchild="0",type="Og\
re::uint32",thread-id="1"},child={name="var1.protected.mEntityFactory",exp="mEntityFactory",numchild\
="0",type="struct Ogre::MovableObjectFactory *",thread-id="1"},child={name="var1.protected.mLightFac\
tory",exp="mLightFactory",numchild="0",type="struct Ogre::MovableObjectFactory *",thread-id="1"},chi\
ld={name="var1.protected.mBillboardSetFactory",exp="mBillboardSetFactory",numchild="0",type="struct \
Ogre::MovableObjectFactory *",thread-id="1"},child={name="var1.protected.mManualObjectFactory",exp="\
mManualObjectFactory",numchild="0",type="struct Ogre::MovableObjectFactory *",thread-id="1"},child={\
name="var1.protected.mBillboardChainFactory",exp="mBillboardChainFactory",numchild="0",type="struct \
Ogre::MovableObjectFactory *",thread-id="1"},child={name="var1.protected.mRibbonTrailFactory",exp="m\
RibbonTrailFactory",numchild="0",type="struct Ogre::MovableObjectFactory *",thread-id="1"},child={na\
me="var1.protected.mRQSequenceMap",exp="mRQSequenceMap",numchild="1",type="std::map<std::basic_strin\
g<char, std::char_traits<char>, std::allocator<char> >, Ogre::RenderQueueInvocationSequence*, std::l\
ess<std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pa\
ir<std::basic_string<char, std::char_traits<char>, std::allocator<char> > const, Ogre::RenderQueueIn\
vocationSequence*> > >",thread-id="1"},child={name="var1.protected.mIsInitialised",exp="mIsInitialis\
ed",numchild="0",type="bool",thread-id="1"},child={name="var1.protected.mFrameListeners",exp="mFrame\
Listeners",numchild="1",type="std::set<Ogre::FrameListener*, std::less<Ogre::FrameListener*>, std::a\
llocator<Ogre::FrameListener*> >",thread-id="1"},child={name="var1.protected.mRemovedFrameListeners"\
,exp="mRemovedFrameListeners",numchild="1",type="std::set<Ogre::FrameListener*, std::less<Ogre::Fram\
eListener*>, std::allocator<Ogre::FrameListener*> >",thread-id="1"},child={name="var1.protected.mEve\
ntTimes",exp="mEventTimes",numchild="4",type="std::deque<unsigned long, std::allocator<unsigned long\
> > [4]",thread-id="1"}],has_more="0"
077,312 (gdb) 
077,312 31-var-info-path-expression var1.private.mCurrentSceneManager
077,312 22^done,path_expr="((root)->mRenderers)"
077,312 (gdb) 
077,312 32-var-info-path-expression var1.private.mDynLibManager
077,312 23^done,path_expr="((root)->mActiveRenderer)"
077,312 (gdb) 
077,312 24^done,path_expr="((root)->mVersion)"
077,312 (gdb) 
077,312 33-var-info-path-expression var1.private.mArchiveManager
077,312 25^done,path_expr="((root)->mConfigFileName)"
077,312 (gdb) 
077,312 26^done,path_expr="((root)->mQueuedEnd)"
077,312 (gdb) 
077,312 34-var-info-path-expression var1.private.mMaterialManager
077,312 27^done,path_expr="((root)->mFirstTimePostWindowInit)"
077,312 35-var-info-path-expression var1.private.mMeshManager
077,312 (gdb) 
077,312 36-var-info-path-expression var1.private.mParticleManager
077,312 28^done,path_expr="((root)->mLogManager)"
077,312 (gdb) 
077,312 37-var-info-path-expression var1.private.mSkeletonManager
077,312 29^done,path_expr="((root)->mControllerManager)"
077,312 (gdb) 
077,312 38-var-info-path-expression var1.private.mPanelFactory
077,312 30^done,path_expr="((root)->mSceneManagerEnum)"
077,312 (gdb) 
077,312 39-var-info-path-expression var1.private.mBorderPanelFactory
077,312 31^done,path_expr="((root)->mCurrentSceneManager)"
077,312 (gdb) 
077,312 40-var-info-path-expression var1.private.mTextAreaFactory
077,312 32^done,path_expr="((root)->mDynLibManager)"
077,312 (gdb) 
077,312 41-var-info-path-expression var1.private.mOverlayManager
077,328 42-var-info-path-expression var1.private.mFontManager
077,328 33^done,path_expr="((root)->mArchiveManager)"
077,328 (gdb) 
077,328 34^done,path_expr="((root)->mMaterialManager)"
077,328 (gdb) 
077,328 43-var-info-path-expression var1.private.mZipArchiveFactory
077,328 35^done,path_expr="((root)->mMeshManager)"
077,328 44-var-info-path-expression var1.private.mFileSystemArchiveFactory
077,328 (gdb) 
077,328 36^done,path_expr="((root)->mParticleManager)"
077,328 (gdb) 
077,328 45-var-info-path-expression var1.private.mResourceGroupManager
077,328 37^done,path_expr="((root)->mSkeletonManager)"
077,328 (gdb) 
077,328 46-var-info-path-expression var1.private.mResourceBackgroundQueue
077,328 38^done,path_expr="((root)->mPanelFactory)"
077,328 (gdb) 
077,328 47-var-info-path-expression var1.private.mShadowTextureManager
077,328 39^done,path_expr="((root)->mBorderPanelFactory)"
077,328 (gdb) 
077,328 48-var-info-path-expression var1.private.mRenderSystemCapabilitiesManager
077,328 40^done,path_expr="((root)->mTextAreaFactory)"
077,328 (gdb) 
077,328 49-var-info-path-expression var1.private.mCompilerManager
077,328 41^done,path_expr="((root)->mOverlayManager)"
077,328 (gdb) 
077,328 50-var-info-path-expression var1.private.mTimer
077,328 42^done,path_expr="((root)->mFontManager)"
077,328 (gdb) 
077,328 51-var-info-path-expression var1.private.mAutoWindow
077,328 43^done,path_expr="((root)->mZipArchiveFactory)"
077,328 (gdb) 
077,328 52-var-info-path-expression var1.private.mProfiler
077,328 44^done,path_expr="((root)->mFileSystemArchiveFactory)"
077,328 (gdb) 
077,328 45^done,path_expr="((root)->mResourceGroupManager)"
077,328 53-var-info-path-expression var1.private.mHighLevelGpuProgramManager
077,328 (gdb) 
077,328 54-var-info-path-expression var1.private.mExternalTextureSourceManager
077,328 46^done,path_expr="((root)->mResourceBackgroundQueue)"
077,328 (gdb) 
077,328 55-var-info-path-expression var1.private.mCompositorManager
077,328 47^done,path_expr="((root)->mShadowTextureManager)"
077,328 (gdb) 
077,328 56-var-info-path-expression var1.private.mNextFrame
077,328 48^done,path_expr="((root)->mRenderSystemCapabilitiesManager)"
077,328 57-var-info-path-expression var1.private.mFrameSmoothingTime
077,328 (gdb) 
077,328 49^done,path_expr="((root)->mCompilerManager)"
077,328 (gdb) 
077,328 58-var-info-path-expression var1.protected.mPluginLibs
077,328 50^done,path_expr="((root)->mTimer)"
077,328 (gdb) 
077,328 59-var-info-path-expression var1.protected.mPlugins
077,328 51^done,path_expr="((root)->mAutoWindow)"
077,328 (gdb) 
077,328 52^done,path_expr="((root)->mProfiler)"
077,328 60-var-info-path-expression var1.protected.mMovableObjectFactoryMap
077,328 (gdb) 
077,328 61-var-info-path-expression var1.protected.mNextMovableObjectTypeFlag
077,328 53^done,path_expr="((root)->mHighLevelGpuProgramManager)"
077,328 (gdb) 
077,328 62-var-info-path-expression var1.protected.mEntityFactory
077,328 54^done,path_expr="((root)->mExternalTextureSourceManager)"
077,328 (gdb) 
077,328 63-var-info-path-expression var1.protected.mLightFactory
077,328 55^done,path_expr="((root)->mCompositorManager)"
077,328 (gdb) 
077,328 56^done,path_expr="((root)->mNextFrame)"
077,328 64-var-info-path-expression var1.protected.mBillboardSetFactory
077,328 (gdb) 
077,343 65-var-info-path-expression var1.protected.mManualObjectFactory
077,343 57^done,path_expr="((root)->mFrameSmoothingTime)"
077,343 (gdb) 
077,343 66-var-info-path-expression var1.protected.mBillboardChainFactory
077,343 58^done,path_expr="((root)->mPluginLibs)"
077,343 (gdb) 
077,343 67-var-info-path-expression var1.protected.mRibbonTrailFactory
077,343 59^done,path_expr="((root)->mPlugins)"
077,343 (gdb) 
077,343 68-var-info-path-expression var1.protected.mRQSequenceMap
077,343 60^done,path_expr="((root)->mMovableObjectFactoryMap)"
077,343 (gdb) 
077,343 69-var-info-path-expression var1.protected.mIsInitialised
077,343 61^done,path_expr="((root)->mNextMovableObjectTypeFlag)"
077,343 (gdb) 
077,343 70-var-info-path-expression var1.protected.mFrameListeners
077,343 62^done,path_expr="((root)->mEntityFactory)"
077,343 (gdb) 
077,343 63^done,path_expr="((root)->mLightFactory)"
077,343 71-var-info-path-expression var1.protected.mRemovedFrameListeners
077,343 (gdb) 
077,343 64^done,path_expr="((root)->mBillboardSetFactory)"
077,343 (gdb) 
077,343 72-var-info-path-expression var1.protected.mEventTimes
077,343 65^done,path_expr="((root)->mManualObjectFactory)"
077,343 (gdb) 
077,343 66^done,path_expr="((root)->mBillboardChainFactory)"
077,343 (gdb) 
077,343 67^done,path_expr="((root)->mRibbonTrailFactory)"
077,343 (gdb) 
077,343 68^done,path_expr="((root)->mRQSequenceMap)"
077,343 (gdb) 
077,343 69^done,path_expr="((root)->mIsInitialised)"
077,343 (gdb) 
077,343 70^done,path_expr="((root)->mFrameListeners)"
077,343 (gdb) 
077,343 71^done,path_expr="((root)->mRemovedFrameListeners)"
077,343 (gdb) 
077,343 72^done,path_expr="((root)->mEventTimes)"
077,343 (gdb) 
079,546 73-exec-next --thread 1 1
079,546 73^running
079,546 *running,thread-id="all"
079,546 (gdb)
Comment 3 Marc Khouzam CLA 2010-01-05 11:04:54 EST
(In reply to comment #2)
> All debugger intergrations are affected.
> 
> If you think i should use another importance just say which one you like =)

I had changed it to 'normal' but they your browser changed it back I think.  Bugzilla is weird that way.  I'm putting it back to 'normal'.

> Thanks for the fast answer

No problem :-)

> 079,546 73-exec-next --thread 1 1
> 079,546 73^running
> 079,546 *running,thread-id="all"
> 079,546 (gdb)

So, GDB is not telling us that the execution of the program ever stops after your first 'Step over' operation.

You can try:
0- reduce the amount of MI commands by hiding the variables view (that way we won't see so many -var-* commands)
1- take the (hopefully much) shorter MI commands and try them by hand in a GDB that you start like this
> gdb -nx <your executable>

Or, what you can do is instead of pressing the Step Over button, try typing 'next' in the GDB console within Eclipse.  I'm pretty sure that will also simply show you ^running, but it's worth a shot, since it easy to do.  Be careful to use the GDB console and not the gdb traces console.
Comment 4 Daniel Herb CLA 2010-01-05 11:23:47 EST
If I type "next" in the gdb window i get the same problem.

> 1- take the (hopefully much) shorter MI commands and try them by hand in a GDB
> that you start like this
I don't know where to change the setting for that? Any hint?


Here is the gdb trace without the variable window:
667,890 1source .gdbinit
667,890 &"source .gdbinit\n"
667,890 &".gdbinit: No such file or directory.\n"
667,890 1^error,msg=".gdbinit: No such file or directory."
667,890 (gdb) 
667,890 2-file-exec-and-symbols C:/develop/cpp/test/Viewer/Debug/Viewer.exe
667,937 2^done
667,937 (gdb) 
667,937 3-environment-cd C:/develop/cpp/test/Viewer/run
667,937 3^done
667,937 (gdb) 
667,937 4-gdb-set auto-solib-add on
667,937 4^done
667,953 (gdb) 
667,953 5-environment-directory C:/develop/cpp/test/Viewer C:/develop/cpp/test/Viewer/Debug C:/devel\
op/cpp/test/Viewer/Debug/src C:/develop/cpp/test/Viewer/run C:/develop/cpp/test/Viewer/src
667,953 5^done,source-path="C:/develop/cpp/test/Viewer;C:/develop/cpp/test/Viewer/Debug;C:/develop/c\
pp/test/Viewer/Debug/src;C:/develop/cpp/test/Viewer/run;C:/develop/cpp/test/Viewer/src;$cdir;$cwd"
667,953 (gdb) 
667,953 6-break-insert main.cpp:5
667,953 7-break-insert main.cpp:3
668,031 6^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x00401359",func="ma\
in",file="..\\src\\main.cpp",fullname="C:/develop/cpp/test/Viewer/Debug/..\\src\\main.cpp",line="5",\
times="0",original-location="main.cpp:5"}
668,031 (gdb) 
668,031 7^done,bkpt={number="2",type="breakpoint",disp="keep",enabled="y",addr="0x00401359",func="ma\
in",file="..\\src\\main.cpp",fullname="C:/develop/cpp/test/Viewer/Debug/..\\src\\main.cpp",line="3",\
times="0",original-location="main.cpp:3"}
668,031 (gdb) 
668,031 8-list-thread-groups
668,031 9-break-insert -t main
668,031 8^done,groups=[]
668,031 (gdb) 
668,046 9^done,bkpt={number="3",type="breakpoint",disp="del",enabled="y",addr="0x00401359",func="mai\
n",file="..\\src\\main.cpp",fullname="C:/develop/cpp/test/Viewer/Debug/..\\src\\main.cpp",line="5",t\
imes="0",original-location="main"}
668,046 (gdb) 
668,046 10-exec-run
668,046 =thread-group-created,id="2528"
668,046 =thread-created,id="1",group-id="2528"
668,046 ~"[New Thread 2528.0xd78]\n"
668,046 10^running
668,062 *running,thread-id="all"
668,062 (gdb) 
668,062 11-list-thread-groups --available
668,062 &"warning: Can not parse XML library list; XML support was disabled at compile time\n"
668,078 *stopped,reason="breakpoint-hit",disp="keep",bkptno="1",frame={addr="0x00401359",func="main"\
,args=[],file="..\\src\\main.cpp",fullname="C:/develop/cpp/test/Viewer/Debug/..\\src\\main.cpp",line\
="5"},thread-id="1",stopped-threads="all"
668,078 (gdb) 
668,078 11^error,msg="Can not fetch data now.\n"
668,078 (gdb) 
668,109 12-list-thread-groups
668,109 12^done,groups=[{id="2528",type="process",pid="2528"}]
668,109 (gdb) 
668,328 13-list-thread-groups 2528
668,328 13^done,threads=[{id="1",target-id="Thread 2528.0xd78",frame={level="0",addr="0x00401359",fu\
nc="main",args=[],file="..\\src\\main.cpp",fullname="C:/develop/cpp/test/Viewer/Debug/..\\src\\main.\
cpp",line="5"},state="stopped"}]
668,328 (gdb) 
668,343 14-stack-info-depth --thread 1 11
668,343 14^done,depth="1"
668,343 (gdb) 
668,343 15-stack-list-frames --thread 1
668,359 15^done,stack=[frame={level="0",addr="0x00401359",func="main",file="..\\src\\main.cpp",fulln\
ame="C:/develop/cpp/test/Viewer/Debug/..\\src\\main.cpp",line="5"}]
668,359 (gdb) 
668,453 16-thread-info 1
668,453 16^done,threads=[{id="1",target-id="Thread 2528.0xd78",frame={level="0",addr="0x00401359",fu\
nc="main",args=[],file="..\\src\\main.cpp",fullname="C:/develop/cpp/test/Viewer/Debug/..\\src\\main.\
cpp",line="5"},state="stopped"}]
668,453 (gdb) 
673,953 17-exec-next --thread 1 1
673,968 17^running
673,968 *running,thread-id="1"
673,968 (gdb)
Comment 5 Marc Khouzam CLA 2010-01-05 11:54:51 EST
(In reply to comment #4)
> If I type "next" in the gdb window i get the same problem.
> 
> > 1- take the (hopefully much) shorter MI commands and try them by hand in a GDB
> > that you start like this
> I don't know where to change the setting for that? Any hint?

Sorry, I wasn't clear.  You can try to not use Eclipse at all (just to see if you get the same problem).  To do that, you start gdb from a command line and you copy/paste the commands we see in the output.  Also, I made a mistake on how to start gdb, it should be

> gdb -nx -i mi

The commands you should copy/paste are below 

2-file-exec-and-symbols C:/develop/cpp/test/Viewer/Debug/Viewer.exe
9-break-insert -t main
10-exec-run
17-exec-next --thread 1 1
Comment 6 Daniel Herb CLA 2010-01-05 12:29:09 EST
Ok tested it with gdb only. Works very well.

Any other suggestions?
Comment 7 Marc Khouzam CLA 2010-01-05 12:42:36 EST
(In reply to comment #6)
> Ok tested it with gdb only. Works very well.

Darn ;-)
Can you post the output of that sesssion?

> Any other suggestions?

Let's try the full set of commands, just in case.
Copy/paste the following:
1source .gdbinit
2-file-exec-and-symbols C:/develop/cpp/test/Viewer/Debug/Viewer.exe
3-environment-cd C:/develop/cpp/test/Viewer/run
4-gdb-set auto-solib-add on
5-environment-directory C:/develop/cpp/test/Viewer C:/develop/cpp/test/Viewer/Debug C:/develop/cpp/test/Viewer/Debug/src C:/develop/cpp/test/Viewer/run C:/develop/cpp/test/Viewer/src
6-break-insert main.cpp:5
7-break-insert main.cpp:3
8-list-thread-groups
9-break-insert -t main
10-exec-run
11-list-thread-groups --available
12-list-thread-groups
13-list-thread-groups 2528
14-stack-info-depth --thread 1 11
15-stack-list-frames --thread 1
16-thread-info 1
17-exec-next --thread 1 1

Also, did you try to type 'next' (no quotes) in the gdb console in Eclipse (instead of the step over button)?
Comment 8 Daniel Herb CLA 2010-01-05 13:28:21 EST
GDB also works well with that commands

>Also, did you try to type 'next' (no quotes) in the gdb console in Eclipse
> (instead of the step over button)?
Tried that - same problem
Comment 9 Daniel Herb CLA 2010-01-07 10:53:48 EST
Hey! I successfully extracted a example of the problem which doesn't use ogre at all. The sample is really short:

#include <iostream>

int main() {
	std::cerr
				<< "........................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................";
	return 0;
}


The funny thing is:
- It only breaks with std::cerr. If you use std::cout instead it works well.
- For short output's it works but it still breaks if there are multiple "std::cerr"s which outputs large strigns


Hope someone can debug it
Comment 10 Daniel Herb CLA 2010-01-07 18:02:57 EST
Another update:
It seems that the std::cerr isn't the only problem. I've removed all debug outs from ogre but the problem still exits (same behavior).
Again: If anyone can give me a hint where to look in the source code i could try to search by myself (tried it but without the knowledge what components do what it's very hard).

Help would be very welcome!
Thanks
Comment 11 Anton Leherbauer CLA 2010-01-08 04:31:04 EST
(In reply to comment #9)
> The funny thing is:
> - It only breaks with std::cerr. If you use std::cout instead it works well.
> - For short output's it works but it still breaks if there are multiple
> "std::cerr"s which outputs large strigns
> Hope someone can debug it

I can reproduce the problem with this example.  The reason seems to be that the stderr stream from the gdb process is neither read nor closed, therefore when the I/O buffer is full, gdb is blocked.

(In reply to comment #10)
> Another update:
> It seems that the std::cerr isn't the only problem. I've removed all debug outs
> from ogre but the problem still exits (same behavior).

There might still be another issue.  Could you attach the output of a command line debug session as in comment 6?
Comment 12 Daniel Herb CLA 2010-01-08 06:50:06 EST
Hmm ok, after a bit more testing it seems that this problem only exists on x64 systems with gdb-7.1
I've changed all the debug output of ogre to cout and it works!
So at least i have a workaround for the moment. If you need any other information just ask for it =)

> I can reproduce the problem with this example.  The reason seems to be that the
> stderr stream from the gdb process is neither read nor closed, therefore when
> the I/O buffer is full, gdb is blocked.
Hmm that sound like a problem of gdb?! Why doesn't have other IDEs the same problem?
Comment 13 Anton Leherbauer CLA 2010-01-08 07:08:42 EST
(In reply to comment #12)
> Hmm ok, after a bit more testing it seems that this problem only exists on x64
> systems with gdb-7.1
> I've changed all the debug output of ogre to cout and it works!
> So at least i have a workaround for the moment. If you need any other
> information just ask for it =)

I am a little confused.  You mentioned that the problem does also occur if there is no debug output from ogre (comment 10).
From your last comment I conclude that the problem occurs only when there is output from stderr?  In this case it's the same problem as with your example.

> > I can reproduce the problem with this example.  The reason seems to be that the
> > stderr stream from the gdb process is neither read nor closed, therefore when
> > the I/O buffer is full, gdb is blocked.
> Hmm that sound like a problem of gdb?! Why doesn't have other IDEs the same
> problem?

It's a problem of the CDT debugger (CDI and DSF).  Closing the stderr stream fixed it for me.
Bug 270369 is another symptom of not handling stderr.
Comment 14 Daniel Herb CLA 2010-01-08 07:28:43 EST
> I am a little confused.  You mentioned that the problem does also occur if
> there is no debug output from ogre (comment 10).
> From your last comment I conclude that the problem occurs only when there is
> output from stderr?  In this case it's the same problem as with your example.
Yes i thought that. But actually there seems to be another problem with x64 systems + the gdb 7.1 debugger with the same symptoms. With gdb 6.8 it works well. Sorry for that, it was a bit late.
Comment 15 Marc Khouzam CLA 2010-01-08 08:55:01 EST
(In reply to comment #14)
> > I am a little confused.  You mentioned that the problem does also occur if
> > there is no debug output from ogre (comment 10).
> > From your last comment I conclude that the problem occurs only when there is
> > output from stderr?  In this case it's the same problem as with your example.
> Yes i thought that. But actually there seems to be another problem with x64
> systems + the gdb 7.1 debugger with the same symptoms. With gdb 6.8 it works
> well. Sorry for that, it was a bit late.

Do you mean GDB 7.0.1?
Comment 16 Daniel Herb CLA 2010-01-08 10:07:40 EST
> Do you mean GDB 7.0.1?
I'm stupid... yes 7.0.1. Tested the problem with multiple different versions. Normally I use 6.8
Comment 17 nothingxd CLA 2010-06-21 03:23:34 EDT
cout and cerr freeze GDB in CDT in both x86 Ubuntu and x86 XP.
In XP, GDB freezes after about 500 characters outputted by cerr. It seems no limit for cout. This small limit prevents many programs which use cerr to be debugged.
In Ubuntu, GDB freezes after about 3000 characters. Both cout and cerr contribute to the limit.
This bug is quite annoying in XP.
I am using
gdb 7.1
Eclipse build 20100218-1602
CDT 6.0.2.201002161416