Vsintegration Ide Debugging

Fix F# debugging issues (breakpoints, .pdb, sequence points). Build, run VS integration tests, inspect IL/PDB. Use when this capability is needed.

tomevault-io Updated

File contents

VS Integration Debugging

Build

.\Build.cmd -c Debug

Run tests

xUnit2 VS Extensibility — not dotnet test.

$runner = (Get-ChildItem "$env:NUGET_PACKAGES\xunit.runner.console" -Recurse -Filter xunit.console.exe | Where-Object { $_.FullName -like '*net472*' } | Select-Object -First 1).FullName
& $runner artifacts\bin\FSharp.Editor.IntegrationTests\Debug\net472\FSharp.Editor.IntegrationTests.exe -parallel none -nologo

Key paths

  • Tests + infra: vsintegration/tests/FSharp.Editor.IntegrationTests/
  • Sequence point emit: src/Compiler/CodeGen/IlxGen.fsEmitDebugPoint, EnsureNopBetweenDebugPoints
  • PDB writer: src/Compiler/AbstractIL/ilwritepdb.fs
  • Collection lowering: src/Compiler/Optimize/LowerComputedCollections.fs
  • Local compiler setup: UseLocalCompiler.Directory.Build.props

Core rule

VS debugger binds breakpoints only at stack-empty IL offsets. Move the sequence point — never add runtime instructions.


Source: dotnet/fsharp — distributed by TomeVault.

tomevault-io/skills-registry/tree/main/dotnet--fsharp--fsharp commit 7936749f9d

Frequently asked questions

npx skillmds@latest add tomevault-io/vsintegration-ide-debugging