Skip to content

Emit open namespaces, modules, types to debug data #1003

@KevinRansom

Description

@KevinRansom

Per @dsyme:

The PDB format has an entry that F# has never filled in for the "open namespaces" within a method scope. This records the active "using" statements for a piece of code. I believe this entry is used to help interpret the stuff entered into the "Watch" and "Immediate" windows of the VS debugger. So if in C# you have "using System" then you can put "Console.In" in the watch window

In F# I think this doesn't work - but only because we never fill in the "open namespaces" entry in the PDB format and write them out. I assume there is a matching "TODO" in the portable PDB and MDB debug formats. It would be good to plan ahead at this point and make sure the basic writers can emit this information, and then plumb it through fromm the type checker at a later point.

The "open namespaces" information wouldn't be too hard to propagate down. But we've just never done it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-Debugstepping, debug points, stacks and moreFeature ImprovementTheme-Simple-F#A cross-community initiative called "Simple F#", keeping people in the sweet spot of the language.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions