[osg-users] more on Windows debugging

Andy Skinner Andy.Skinner at mathworks.com
Thu Sep 27 08:25:58 PDT 2007


It was /Zi.  I knew I saw it set (it was put in another variable and not
put in the one I was using), and I knew I was getting pdb files, so I
really thought it was being applied.  Oh, well.

thanks,
andy

-----Original Message-----
From: osg-users-bounces at lists.openscenegraph.org
[mailto:osg-users-bounces at lists.openscenegraph.org] On Behalf Of
Wojciech Lewandowski
Sent: Thursday, September 27, 2007 11:19 AM
To: OpenSceneGraph Users
Subject: Re: [osg-users] more on Windows debugging

I am glad to hear that. Out of curiosity which option was missing ?

Wojtek

----- Original Message ----- 
From: "Andy Skinner" <Andy.Skinner at mathworks.com>
To: "OpenSceneGraph Users" <osg-users at lists.openscenegraph.org>
Sent: Thursday, September 27, 2007 5:10 PM
Subject: Re: [osg-users] more on Windows debugging


> It works, and I'm debugging.
> 
> Thanks so much.  We've got several OSG developers here, and this will
be
> very helpful.
> 
> I've asked how come this flag isn't included for our 3rd party builds,
> and I'm curious why we got pdb files and symbols without it.  That's
why
> I was confused for a long time.  But I'm going now, anyway.
> 
> andy
> 
> 
> -----Original Message-----
> From: osg-users-bounces at lists.openscenegraph.org
> [mailto:osg-users-bounces at lists.openscenegraph.org] On Behalf Of Andy
> Skinner
> Sent: Thursday, September 27, 2007 10:28 AM
> To: OpenSceneGraph Users
> Subject: Re: [osg-users] more on Windows debugging
> 
> Thanks to Wojtek, I think I'm getting somewhere.
> 
> When he looked at strings in his pdb files, he saw paths to source
code,
> and I didn't.  But I was pretty sure I was generating things with
flags,
> because I was creating pdb files and the debugger was finding symbols.
> 
> Well, apparently something was creating pdb files, but not with enough
> info.  I added some of the flags that I thought had to be there anyway
> to generate the files in the first place, and I'm seeing the source
file
> paths in the pdb files.
> 
> I'm still building, but I should be able to test soon.
> 
> I'm not sure what options built debug and made pdb files and symbols
but
> didn't put the source paths in the pdb files, but I think I'll be able
> to resolve this now.
> 
> andy
> 
> 
> -----Original Message-----
> From: Wojciech Lewandowski [mailto:lewandowski at ai.com.pl] 
> Sent: Thursday, September 27, 2007 4:35 AM
> To: Andy Skinner; OpenSceneGraph Users
> Subject: Re: [osg-users] more on Windows debugging
> 
>>Do you actually have the OSG (or in this case OpenThreads) source path
>>names, up to the .cpp extension in your pdb file?
> 
> Yes. PDB is a huge container of various information. It contains both 
> relative paths (prefixed with ./) and absolute paths of my source
files.
> 
> Also contains  whole commands used to compile and link.
> 
> I googled PDB a little. Found few interesting links but nothing realy 
> spectacular. Some information on microsoft site says that copying .pdb
> files 
> to working directory may help: 
> http://support.microsoft.com/default.aspx?scid=kb;en-us;Q121366 :
> 
> " The new Visual C++ debugger uses the <project>.PDB file created by
the
> 
> linker directly, and embeds the absolute path to the .PDB in the .EXE
or
> 
> .DLL file. If the debugger can't find the .PDB file at that location
or
> if 
> the path is invalid (if, for example, the project was moved to another

> computer), the debugger looks for it in the current directory. "
> 
> If you are desperate you may try to grab DIA sdk and build dia2dump
> example 
> and see what exactly your PDB contains.
> http://msdn2.microsoft.com/en-us/library/x93ctkx8(VS.80).aspx
> 
> Hope it helps,
> Wojtek
> 
> ----- Original Message ----- 
> From: "Andy Skinner" <Andy.Skinner at mathworks.com>
> To: <lewandowski at ai.com.pl>; "OpenSceneGraph Users" 
> <osg-users at lists.openscenegraph.org>
> Sent: Wednesday, September 26, 2007 10:34 PM
> Subject: RE: [osg-users] more on Windows debugging
> 
> 
> Thanks.  I have been looking at strings in these files, too.  I did
not
> see the path to the cpp files listed in the pdb file.  I see paths to
> .obj files, a <something>.dll.embed.manifest.res file, some source
files
> (f:\sp\public\sdk\inc\pshpack4.h, for example, and I don't even have a
> volume f) but no OSG source files.  There are some .exp files.
> 
> Do you actually have the OSG (or in this case OpenThreads) source path
> names, up to the .cpp extension in your pdb file?
> 
> In the meantime, I have been trying to debug just looking at stack
> traces.  I should see how far I can get using linux, too, although I'm
> not fond of gdb.
> 
> thanks,
> andy
> 
> 
> -----Original Message-----
> From: osg-users-bounces at lists.openscenegraph.org
> [mailto:osg-users-bounces at lists.openscenegraph.org] On Behalf Of
> Wojciech Lewandowski
> Sent: Wednesday, September 26, 2007 4:24 PM
> To: OpenSceneGraph Users
> Subject: Re: [osg-users] more on Windows debugging
> 
> My INSTALL step does copy these DLLs to the different location. They
> were
> compiled in OpenSceneGraph\src\subproject and linked in
> OpenSceneGraph\lib\release or debug directories and INSTALL places
them
> in
> OpenSceneGraph\bin directory. Technically its almost the same
situation
> as
> yours. I did an extra test and moved DLLs to my sample project
> directory.
> Even if they were loaded from my app dir I was still able to step into
> OSG
> sources.
> 
> Out of curiosity I opened OpenThreadsd.dll in hexeditor. Searched for
> OpenThreadsd.pdb string. There is only one line containing this string
> and
> this line contains full absolute path to the place where
> OpenThreadsd.pdb
> was built. In my case this is
> C:\dev\OSG_SVN\OpenSceneGraph\lib\Debug\OpenThreadsd.pdb. I also
opened
> PDB
> in hexeditor. PDB seems to keep all the absolute paths to the source
cpp
> files. My PDB still resides in this directory where DLL points (ie
where
> DLL
> was linked) and my source OSG cpp files are still at the same
directory
> where PDB points (ie where they were compiled). DLL may be moved
> wherever I
> want and VS is still able to find the sources. I guess VS first loads
> DLL,
> reads the PDB absolute path, then loads PDB and finds absolute paths
to
> sources. I suppose VS may have trouble if PDB or cpp files absolute
> paths
> change. But it looks that DLL can be moved freely.
> 
> PS. I use VS 2005 SP1 maybe it matters.
> 
> Wojtek
> 
> 
> -----Original Message-----
> From: osg-users-bounces at lists.openscenegraph.org
> [mailto:osg-users-bounces at lists.openscenegraph.org]On Behalf Of Andy
> Skinner
> Sent: Wednesday, September 26, 2007 7:26 PM
> To: OpenSceneGraph Users
> Subject: Re: [osg-users] more on Windows debugging
> 
> 
> Thanks.  I have some of the same setup, but I don't get OSG from the
> place where I built it.  I'm afraid that moving the dlls has lost
their
> connection with the source.
> 
> I've got paths set to specify the source, but it doesn't seem to be
> helping, in the same way it didn't help you to remove them.  :)
> 
> thanks,
> andy
> 
> 
> -----Original Message-----
> From: osg-users-bounces at lists.openscenegraph.org
> [mailto:osg-users-bounces at lists.openscenegraph.org] On Behalf Of
> Wojciech Lewandowski
> Sent: Wednesday, September 26, 2007 11:43 AM
> To: OpenSceneGraph Users
> Subject: Re: [osg-users] more on Windows debugging
> 
> Below is my OSG configuration. Apparently it works well with Visual
> Studio
> 2005 Express intellibase as I am able to step down into OSG sources
from
> my
> OSG based projects. This may be no solution for you but I hope it may
be
> 
> helpful somehow if you will be able to find differences and maybe
> finally
> isolate the cause of the problems.
> 
> 1. I keep all my projects in C:\DEV directory. All OSG svn related
> projects
> are kept in C:\DEV\OSG_SVN\ directory. And OpenSceneGraph distribution
> is
> located in C:\DEV\OSG_SVN\OpenSceneGraph.
> 
> 2. After OpenScenGraph SVN update I run CMake and change OSG INSTALL
> directory variable to '.' (dot - current directory). It has the effect
> that
> install will make bin and lib subdirectories in OpenSceneGraph root
> directory. Ie:  C:\DEV\OSG_SVN\OpenSceneGraph\bin and
> C:\DEV\OSG_SVN\OpenSceneGraph\lib.
> 
> DLLs and EXEs land in:
> C:\DEV\OSG_SVN\OpenSceneGraph\bin
> 
> Libraries land in:
> C:\DEV\OSG_SVN\OpenSceneGraph\lib
> 
> Headers remain in (Cmake is clever and does not copy them over
> themselves):
> C:\DEV\OSG_SVN\OpenSceneGraph\include
> 
> 3. My system PATH variable inludes C:\DEV\OSG_SVN\OpenSceneGraph\bin
> directory
> 
> 4. With VisualStudio I load Cmake generated sln and run BUILD ALL and
> then
> BUILD INSTALL to copy binaries to above directories. I do it twice -
> once
> for Release and once for Debug build.
> 
> 5. At this point I am able to build, run, debug my projects and step
> into
> OSG sources (.cpp).
> 
> 6. I don't know if this is relevant, but obviously to compile and link
> my
> projects I had set include and library paths in VisualStudio 2005.
> Menu
> Tools/Options/Projects and Solutions/VC++ Directories:
> 
> Path for Include files is set to:
> C:\DEV\OSG_SVN\\OpenSceneGraph\include
> 
> Path for Library files is set to:
> C:\DEV\OSG_SVN\\OpenSceneGraph\lib
> 
> Path for Sources files has all subdirs of OpenSceneGraph\src listed in
> separate lines:
> C:\DEV\OSG_SVN\OpenSceneGraph\src\OpenThreads
> C:\DEV\OSG_SVN\OpenSceneGraph\src\osg
> C:\DEV\OSG_SVN\OpenSceneGraph\src\osgUtil
> and so on.
> I don't think that source paths are really that important. For some
> testing
> I removed one of  source path lines and Visual Studio was still able
to
> find
> sources and step into them. But it may be neccessary during OSG build
> (when
> intellibase is generated) so I propose to set them as well. It won't
> make
> things worse.
> 
> Hope this helps,
> Wojtek
> 
> 
> 
> ----- Original Message -----
> From: "Andy Skinner" <Andy.Skinner at mathworks.com>
> To: "OpenSceneGraph Users" <osg-users at lists.openscenegraph.org>
> Sent: Wednesday, September 26, 2007 2:47 PM
> Subject: Re: [osg-users] more on Windows debugging
> 
> 
>> Yep, I've got 2.1.12.
>>
>> I copy the bin and lib files elsewhere for installation, but I've
>> pointed visual studio at the pdb files and source files back in the
>> build area, though.
>>
>> I'm wondering whether Visual Studio knows these are related, however.
> I
>> tried starting up visual studio with the OpenSceneGraph.sln, and
>> attaching it to our program running with OSG libraries.  I open a
> source
>> file and try to make a breakpoint, and it says no symbols have been
>> loaded for that document.
>>
>> In the modules window, I can see that dll (osg23-osgUtild.dll),
saying
>> that it loaded symbols from the pdb file I expect.
>>
>> So it really does make me wonder if it just doesn't that that this
>> source file is associated with this dll or pdb file.
>>
>> andy
>>
>> -----Original Message-----
>> From: osg-users-bounces at lists.openscenegraph.org
>> [mailto:osg-users-bounces at lists.openscenegraph.org] On Behalf Of
> Robert
>> Osfield
>> Sent: Wednesday, September 26, 2007 8:39 AM
>> To: OpenSceneGraph Users
>> Subject: Re: [osg-users] more on Windows debugging
>>
>> Hi Andy,
>>
>> Out of curiosity which version of the OSG are you working with now?
>> Do they include Luigi's modifications for building libs and debug
>> files in the bin directory?
>>
>> Robert.
>>
>> On 9/26/07, Andy Skinner <Andy.Skinner at mathworks.com> wrote:
>>> I am definitely using the dlls associated with the pdb files, which
>> were
>>> generated in debug mode.  I can find where the libraries come from,
>>> where the pdb files come from, etc, and all is in place.  The
symbols
>>> are in the stack trace as well.  Before I was using debug
> directories,
>>> it couldn't tell me where it was in OSG.
>>>
>>> One possible issue is that these dlls have been copied to other
> places
>>> since they were built, and they're not in the same place relative to
>> the
>>> pdb files or source code.  But they are the files built with the pdb
>>> files and source code.
>>>
>>> It has been suggested that I try to load the OSG solution and attach
>> to
>>> my program.  This may now make it harder to debug our code, but it
>> would
>>> be something.
>>>
>>> andy
>>>
>>> -----Original Message-----
>>> From: osg-users-bounces at lists.openscenegraph.org
>>> [mailto:osg-users-bounces at lists.openscenegraph.org] On Behalf Of
Eric
>>> Sokolowsky
>>> Sent: Tuesday, September 25, 2007 5:16 PM
>>> To: OpenSceneGraph Users
>>> Subject: Re: [osg-users] more on Windows debugging
>>>
>>> Andy Skinner wrote:
>>> > I can step into header files, but not the source.  I wonder why
> that
>>> is.
>>> >
>>> > It seems I'm pretty close, since it is finding the header file.
If
>>> > anyone could suggest why Visual Studio can find one and not the
>> other,
>>> > I'd be grateful.  I've added both to the list of debug source.
>>>
>>> It sounds like there is no debugging information in the source
files,
>>> especially if you're trying to step into the OSG sources which are
>>> located inside a library file. Header files are compiled into your
>>> program's sources so you can step into the functions contained
>> therein.
>>> Are you using a debug version of the library?
>>>
>>> Eric
>>>
>>> _______________________________________________
>>> osg-users mailing list
>>> osg-users at lists.openscenegraph.org
>>>
>>
>
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or
>>> g
>>> _______________________________________________
>>> osg-users mailing list
>>> osg-users at lists.openscenegraph.org
>>>
>>
>
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or
>> g
>>>
>> _______________________________________________
>> osg-users mailing list
>> osg-users at lists.openscenegraph.org
>>
>
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or
>> g
>> _______________________________________________
>> osg-users mailing list
>> osg-users at lists.openscenegraph.org
>>
>
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or
> g
>>
> 
> 
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
>
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or
> g
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
>
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or
> g
> 
> 
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
>
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or
> g
> 
> 
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
>
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or
> g
> _______________________________________________
> osg-users mailing list
> osg-users at lists.openscenegraph.org
>
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or
g
>

_______________________________________________
osg-users mailing list
osg-users at lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.or
g



More information about the osg-users mailing list