Sign In
Mike Stall's .NET Debugging Blog
Notes on Managed Debugging, ICorDebug, and random .NET stuff
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Options
Blog Home
Share this
RSS for posts
Atom
RSS for comments
Search
Advanced search options...
Search In:
Everything
Blogs
Forums
People
Groups
Places
Pages
Date range:
All Time
Last Year
Last 6 Months
Last 3 Months
Last Month
Last Week
Last Two Days
Tags
Compilers & Languages
Design
dlr
Edit-And-Continue (EnC)
Family
FuncEval
ICorDebug
Interop (mixed-mode)
linkfest
MDbg
Non-work
Pages
Python
Quiz
Random
random .net
reading
Sample Code
Silverlight
This should be in MSDN
Troubleshooting
versioning
WebAPI
Whidbey (V2.0)
Windows Live
Archive
Archives
May 2012
(3)
April 2012
(5)
March 2012
(2)
November 2011
(1)
September 2011
(1)
December 2010
(1)
September 2009
(2)
July 2009
(1)
May 2009
(1)
February 2009
(1)
November 2008
(1)
June 2008
(1)
May 2008
(2)
April 2008
(3)
March 2008
(5)
February 2008
(2)
January 2008
(10)
December 2007
(7)
November 2007
(5)
October 2007
(16)
September 2007
(8)
August 2007
(12)
July 2007
(9)
June 2007
(5)
May 2007
(7)
April 2007
(4)
March 2007
(6)
February 2007
(5)
January 2007
(11)
December 2006
(9)
November 2006
(13)
October 2006
(9)
September 2006
(10)
August 2006
(6)
July 2006
(13)
June 2006
(10)
May 2006
(3)
April 2006
(4)
March 2006
(31)
February 2006
(16)
January 2006
(18)
December 2005
(11)
November 2005
(23)
October 2005
(12)
September 2005
(22)
August 2005
(31)
July 2005
(10)
June 2005
(7)
May 2005
(4)
April 2005
(5)
March 2005
(9)
February 2005
(16)
January 2005
(6)
December 2004
(3)
November 2004
(4)
October 2004
(14)
September 2004
(2)
Symbol API (CorSym.idl) for managed PDBs
MSDN Blogs
>
Mike Stall's .NET Debugging Blog
>
Symbol API (CorSym.idl) for managed PDBs
Symbol API (CorSym.idl) for managed PDBs
Mike Stall - MSFT
30 Sep 2005 11:00 AM
Comments
1
From the mailbag:
Just wanted to know if there are plans to ever give us world citizens an API to modify & emit pdb files, at least for managed assemblies.
Good news. You've already got them.
1) The
CorSym.idl API
(exists in sdk, next to where you find CorDebug.idl) is a com-classic API that can read and write managed pdbs.
Steve
(who used to own this) tells me this API is sufficiently complete to complete read and write a PDB file.
2) Cordbg and MDbg both use this API to read pdbs for debugging. You can look at these as examples for how to read these PDBs. Unfortunately, I'm not aware of any good public examples for how to use this API to write PDBs. ILasm will use this API to produce PDBs, but I don't think the source for ILasm is public (I haven't checked if Rotor has this).
3) There are some basic managed wrappers defined in mscorlib that allow
reflection-emit to specify some debugging information
. These wrappers are incomplete, and should never have existed.
4) MDbg has some more advanced wrappers for the symbol interfaces. Since we can
revise the MDbg sample much more quickly then we can revise the product
, these wrappers are probably the best ones to use. I have a C# tool that uses these managed wrappers to
dump a managed pdb as an xml file
. I'd like to eventually make the tool complete enough that it can completely round-trip a PDB --> XML --> PDB file. We first need to improve the managed wrappers because they're currently targeted at just reading PDBs and not so much writing PDBs.
1 Comments
Troubleshooting
Blog - Comment List MSDN TechNet
Comments
Loading...