1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-08 11:37:04 +09:00
Satori/docs/workflow/debugging/libraries/debugging-vscode.md
2020-03-24 08:47:28 -04:00

1.7 KiB

Debugging Libraries with Visual Studio Code

  • Install Visual Studio Code
  • Install the C# Extension
  • Open the folder containing the source you want to debug in VS Code - i.e., if you are debugging a test failure in System.Net.Sockets, open runtime/src/libraries/System.Net.Sockets
  • Open the debug window: ctrl-shift-D or click on the button on the left
  • Click the gear button at the top to create a launch configuration, select .NET Core from the selection dropdown
  • In the .NET Core Launch (console) configuration do the following
    • delete the preLaunchTask property
    • set program to the full path to dotnet in the artifacts/bin/testhost directory.
      • something like artifacts/bin/testhost/netcoreapp-{OS}-{Configuration}-{Architecture}, plus the full path to your dotnet/runtime directory.
    • set cwd to the test bin directory.
      • using the System.Net.Sockets example, it should be something like artifacts/bin/System.Net.Sockets.Tests/netcoreapp-{OS}-{Configuration}-{Architecture}, plus the full path to your dotnet/runtime directory.
    • set args to the command line arguments to pass to the test
      • something like: [ "exec", "--runtimeconfig", "{TestProjectName}.runtimeconfig.json", "xunit.console.dll", "{TestProjectName}.dll", "-notrait", ... ], where TestProjectName would be System.Net.Sockets.Tests
      • to run a specific test, you can append something like: [ "method", "System.Net.Sockets.Tests.{ClassName}.{TestMethodName}", ...]
  • Set a breakpoint and launch the debugger, inspecting variables and call stacks will now work