Skip to content

Debugging ranges all messed up #2804

Closed
Closed

Description

@dsyme

I don't really know what's up, but my favourite debugging technique for the F# compiler now seems to be messed up. I believe it's because the PDB files being generated by the compiler are now wrong somehow

Normally I do this:

devenv /debugexe Debug\net40\bin\fsc.exe test.fs

If I then put some breakpoints in Optimizer.fs I expect to hit them, e.g. in OptimizeLambda and OptimizeImplFileInternal.

But now the line numbers for stack frames shown by both VS2015 and VS2017 are wrong. For example, in the screen shot below the hover tip claims that OptimizeLambda is on line 3168 of Optimizer.fs. But that's nowhere neat the actual source range of that function

image

This means none off the following work correctly

  • Setting breakpoints (setting a breakpoint in most places in Optimzier.fs now normally fails to bind)
  • double-click source navigation up and down the call stack no longer works

Maybe it's related to some of the other issues with debugging reported recently, e.g. the portable debug format

Activity

  1. forki commented on Apr 5, 2017

    @forki
    Contributor

    We're all cheering to get #2773 in

  2. KevinRansom commented on Apr 5, 2017

    @KevinRansom
    Contributor

    @dsyme we are now using portable pdbs rather than desktop pdb's. There may still be some issues because we haven't really been dogfooding them.

  3. dsyme commented on Apr 5, 2017

    @dsyme
    ContributorAuthor

    I confirmed that moving to "full" makes this problem go away. Closing in favour of #2773

  4. vasily-kirichenko commented on Apr 5, 2017

    @vasily-kirichenko
    Contributor

    @dsyme use #2773. Without it VFT isn't debuggable at all.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions