You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-dev@xerces.apache.org by "Vemund Handeland (JIRA)" <xe...@xml.apache.org> on 2013/08/19 10:53:48 UTC

[jira] [Commented] (XERCESC-2021) pdb file extension fullpdb not compatible with symbol server

    [ https://issues.apache.org/jira/browse/XERCESC-2021?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13743635#comment-13743635 ] 

Vemund Handeland commented on XERCESC-2021:
-------------------------------------------

Note that the path to the symbols are included in the binary. By default the linker will use the path to the "full" symbol file.
E.g. run dumpbin from the Visual Studio command prompt:
dumpbin.exe /HEADERS xerces-c_3_1.dll

My understanding is that the debugger will only look for the file listed in the header. It is possible to set it up to search multiple folders for the symbol files, but the file name has to match. In addition the GUID listed in the header also has to match the GUID in the pdb file. The stripped symbol file gets the same GUID as the full version, but it must be renamed to be usable. With the committed changes the stripped pdb file has to be renamed to *.full.pdb, something I expect will be confusing for the users.

A possible solution is to change the pdb path included in the dll header. Add /PDBALTPATH:pdb_file_name to the linker command line (additional options), and specify the path to the stripped symbols. ([http://msdn.microsoft.com/en-us/library/vstudio/dd998269.aspx])

This solution will require the .full.pdb to renamed to .pdb before the debugger can/will load it.

                
> pdb file extension fullpdb not compatible with symbol server
> ------------------------------------------------------------
>
>                 Key: XERCESC-2021
>                 URL: https://issues.apache.org/jira/browse/XERCESC-2021
>             Project: Xerces-C++
>          Issue Type: Improvement
>          Components: Build
>    Affects Versions: 3.1.1
>         Environment: Visual Studio
>            Reporter: Vemund Handeland
>            Assignee: Alberto Massari
>            Priority: Minor
>             Fix For: 3.2.0
>
>         Attachments: pdb_file_extension.patch
>
>
> Release builds of XercesLib creates pdb file "xerces-c_3_1.fullpdb" + stripped pdb file "xerces-c_3_1.pdb".
> Full path to the first file is included in the dll, and the debugger uses this information to locate the symbols. The stripped version must be renamed before it can be used.
> The extension fullpdb is not compatible with Microsoft Symbol Server (http://msdn.microsoft.com/en-us/library/ms680693(v=vs.85).aspx). (I've not been able to add the file with symstore.exe, and the debuggers are unable to fetch a copy I've manually added to my symbol server).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: c-dev-unsubscribe@xerces.apache.org
For additional commands, e-mail: c-dev-help@xerces.apache.org