-
Notifications
You must be signed in to change notification settings - Fork 677
Enabling C# debugger logging
Here is how to enable additional logging for the VS Code C# debugger to help troubleshoot problems.
Fire up your favorite editor and open the C# extension's package.json file. You might want to use something other than VS Code so that you can restart VS Code without having to close this file, but it isn't required. Package.json can be found here:
- Windows: C:\Users\<your-alias>\.vscode\extensions\ms-vscode.csharp-<ver>\package.json
- OSX/Linux: ~/.vscode/extensions/ms-vscode.csharp-<ver>/package.json
NOTE: If you are using the Insiders build of VS Code, replace '.vscode' with '.vscode-insiders'.
We want to find the 'contributes.debuggers[0].program' element in package.json. The fastest way to do this is to search for 'OpenDebugAD7'. You should see something like this:
...
"program": "./coreclr-debug/debugAdapters/OpenDebugAD7.exe",
...
Add a new property after program to pass command line arguments to OpenDebugAD7. We want to pass '--engineLogging='. This example logs to c:\users\greggm\cs-debug.log. Replace this with a path that is easy for you.
...
"args": [ "--engineLogging=c:\\users\\greggm\\cs-debug.log" ],
...
Restart VS Code to make sure that VS Code re-reads package.json. Then start debugging as normal. Debug until the problem is hit, then stop debugging. You should now see that the log file has been written.
Put back package.json as it was before (no logging).
Configuration
- Configuring Snap installs of dotnet-sdk
- Configuring Arch Linux for Unity development
- Configuring Arch Linux for Razor development
- Installing the .NET Core Debugger on Arch Linux
Debugger
- Overview
- launch.json Help
- Feature List
- Enable Logging
- Portable PDBs
- Troubleshoot Breakpoints
- Attaching to remote processes
- Remote Debugging On Linux-Arm
- Windows Subsystem for Linux
- Diagnosting 'Debug adapter process has terminated unexpectedly'
- Testing libicu compatibility on Linux
- Debugging into the .NET Runtime itself
- Debugging x64 processes on an arm64 computer
Documentation
- Change Log
- Branches and Releases
- Installing Beta Releases
- Installing without internet connectivity
- Linux Support
- Run/Debug Unit Tests
- Troubleshooting: 'The .NET Core SDK cannot be located.' errors
Developer Guide