在 vscode 调试控制台中禁用符号加载的详细记录
Disable verbose logging of symbol loading in vscode debug console
当 运行 我的 webapp(在 vscode 中)时,调试控制台充满了像这样的行:
Loaded '/foo/bar/dotnet/shared/Microsoft.NETCore.App/2.2.4/System.Private.CoreLib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
和
The thread 123 has exited with code 0 (0x0).
我认为这与 appsettings.json
文件中的日志过滤有关,但这些不属于我可以禁用的任何类别。
这很烦人 - 我该如何禁用它?
这些日志由 VS Code 管理。您可以在 .vscode
目录下的 launch.json
文件中禁用它们。您可以在 configurations
节点下添加以下节点以禁用模块加载消息:
"logging": {
"moduleLoad": false
}
还有更多可用选项,例如 exceptions
和 programOutput
,请查看 Intellisense 以了解所有可用选项。
我找到这个答案是为了寻找与原始问题相同的东西。 提供的答案是正确的,但我不明白我需要把它放在哪里。所以我决定添加我自己的答案,希望能指导其他处于相同情况的人...
您只需将以下代码添加到您的解决方案(如果您不使用解决方案,则添加项目文件)。
"logging": {
"moduleLoad": false
}
因为我不清楚它需要添加到哪里(在我的“配置”节点上有两个单独的区域,名为“name”:“.NET Core Launch(控制台)”和“name”:“ .NET Core Attach"),我想 post 我的整个配置以使其更加清晰。
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/bin/Debug/netcoreapp2.2/example.dll",
"args": [],
"cwd": "${workspaceFolder}",
"console": "internalConsole",
"stopAtEntry": false,
"logging": {
"moduleLoad": false
}
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
]
答案正确地解释了一般情况下如何禁用日志记录(通过编辑 .vscode/launch.json
)。
但这不适用于从 codelens 启动的调试会话:
在这种情况下编辑 .vscode/settings.json
:
"csharp.unitTestDebuggingOptions": {
"logging": { "moduleLoad": false }
},
已接受答案中的解决方案在调试 Blazor 项目时不起作用。
改用这个:
"dotNetConfig": {
"logging": { "moduleLoad": false }
}
当 运行 我的 webapp(在 vscode 中)时,调试控制台充满了像这样的行:
Loaded '/foo/bar/dotnet/shared/Microsoft.NETCore.App/2.2.4/System.Private.CoreLib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
和
The thread 123 has exited with code 0 (0x0).
我认为这与 appsettings.json
文件中的日志过滤有关,但这些不属于我可以禁用的任何类别。
这很烦人 - 我该如何禁用它?
这些日志由 VS Code 管理。您可以在 .vscode
目录下的 launch.json
文件中禁用它们。您可以在 configurations
节点下添加以下节点以禁用模块加载消息:
"logging": {
"moduleLoad": false
}
还有更多可用选项,例如 exceptions
和 programOutput
,请查看 Intellisense 以了解所有可用选项。
我找到这个答案是为了寻找与原始问题相同的东西。
您只需将以下代码添加到您的解决方案(如果您不使用解决方案,则添加项目文件)。
"logging": {
"moduleLoad": false
}
因为我不清楚它需要添加到哪里(在我的“配置”节点上有两个单独的区域,名为“name”:“.NET Core Launch(控制台)”和“name”:“ .NET Core Attach"),我想 post 我的整个配置以使其更加清晰。
"version": "0.2.0",
"configurations": [
{
"name": ".NET Core Launch (console)",
"type": "coreclr",
"request": "launch",
"preLaunchTask": "build",
"program": "${workspaceFolder}/bin/Debug/netcoreapp2.2/example.dll",
"args": [],
"cwd": "${workspaceFolder}",
"console": "internalConsole",
"stopAtEntry": false,
"logging": {
"moduleLoad": false
}
},
{
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": "${command:pickProcess}"
}
]
答案正确地解释了一般情况下如何禁用日志记录(通过编辑 .vscode/launch.json
)。
但这不适用于从 codelens 启动的调试会话:
在这种情况下编辑 .vscode/settings.json
:
"csharp.unitTestDebuggingOptions": {
"logging": { "moduleLoad": false }
},
已接受答案中的解决方案在调试 Blazor 项目时不起作用。
改用这个:
"dotNetConfig": {
"logging": { "moduleLoad": false }
}