Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

PDB Format is truly a nightmare
tomtrias
#1 Posted : Wednesday, March 17, 2021 2:16:45 AM(UTC)
Rank: Newbie

Groups: Registered
Joined: 6/25/2019(UTC)
Posts: 4
Location: United States of America

I have started trying to remember to use different variable names in the various scoped in a method just so I can see debugging information in NCrunch, or better still providing decent logging during operation so even using the debugger directly becomes unnecessary. I've kept up with the forum posts about the issue and recently decided to take a look at the nature of the Program Database format. It makes MSI look like a cakewalk by comparison, and is even more sparsely documented. LLVM has some rather weighty reference material on the subject.
Remco
#2 Posted : Wednesday, March 17, 2021 8:44:11 AM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 6,301

Thanks: 818 times
Was thanked: 1095 time(s) in 1038 post(s)
Yes. Yes it absolutely is!!!

At least, the old Win32 PDBs are. The new portable PDBs introduced with .NET Core are a much cleaner design and are much easier to work with.

The main problem with the old PDBs is that they were clearly only ever intended to be an internal format. It's generally best to interface with the files using the old COM based service calls (i.e. ISymUnmanagedWriter3) rather than interact with them yourself. However, if you're up for the challenge, the Mono.Cecil project has a managed PDB reader that can read all the essentials by leveraging the old CCI code.

Generally, I would recommend against investing time in learning this file format unless you have a good reason to do so. It wouldn't surprise me if MS decided to deprecate the format entirely and move everything to portable PDBs. You can imagine that they don't enjoy interacting with that old stuff any more than we do.
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

YAF | YAF © 2003-2011, Yet Another Forum.NET
This page was generated in 0.188 seconds.
Trial NCrunch
Take NCrunch for a spin
Do your fingers a favour and supercharge your testing workflow
Free Download