Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Restore the .line directives for Win platform #3

Closed
3F opened this issue Dec 19, 2016 · 1 comment
Closed

Restore the .line directives for Win platform #3

3F opened this issue Dec 19, 2016 · 1 comment

Comments

@3F
Copy link
Owner

3F commented Dec 19, 2016

We need to restore this feature to support debug info for this 3F/DllExport#23

It was removed starting from this:

SHA-1: 1b6658714821566dd9ab78dcf1fe96fcb0f8772a
...
This ILDASM now depends on CoreCLR targeting cross-platform and thus 
I dropped some features like GUI/PDB -- default output is console.
@3F
Copy link
Owner Author

3F commented Mar 22, 2025

In the end I re-implemented it through my own PDB reader because ...

as it turned out they initially removed ildbsymbols which is part of CILDB implementation with lot of dead code between components. That is, 1b66587 mentioned above and other newer commits just removes dead and never worked code (I reviewed ildasm between many changes and it seems it never had an open source implementation to work with PDB (neither legacy MSF nor BJSB)

I finally decided to implement it from scratch because coreclr project has disabled RTTI and because of other things in general to make it faster than trying to adapt CILDB or something related from current code base (n. ECMA-335: Portable CILDB files provide a standard way to interchange debugging information between CLI producers and consumers). By the way, ilasm already contains pdb writer (and only it) at least in latest changes that I merged from 9.x

tl;dr,
I implemented support only around PortablePDB format. Mabe later I'll decide to add support also for legacy PDB "Microsoft C/C++ MSF 7.00" (VS 2010+) who knows.

n.
The implementation ac9a15d concerned only the sequence points, documents and related items specifically for the purposes of ildasm.

Regarding .NET DllExport project,

I've checked debugging in modified assemblies for .NET 8.0.
Moving by points now works fine! But evaluating variables for the debugger will most likely not work due to mixing of types etc. everything I mentioned in 3F/DllExport#243 so ... maybe later

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant