在 vscode 调试控制台中禁用符号加载的详细日志记录

问题描述 投票:0回答:5

运行我的 web 应用程序(在 vscode 中)时,调试控制台充满了如下行:

加载“/foo/bar/dotnet/shared/Microsoft.NETCore.App/2.2.4/System.Private.CoreLib.dll”。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。

线程 123 已退出,代码为 0 (0x0)。

我认为这与

appsettings.json
文件中的日志过滤有关,但这些不属于我可以禁用的任何类别。

这非常烦人 - 我该如何禁用它?

asp.net-core visual-studio-code .net-core asp.net-core-2.2
5个回答
49
投票

这些日志由 VS Code 管理。您可以在

launch.json
目录中的
.vscode
文件中禁用它们。您可以在
configurations
节点中的任何元素内添加以下节点,以禁用该配置的模块加载消息:

"logging": {
    "moduleLoad": false
}

还有更多可用选项,例如

exceptions
programOutput
,请查看 Intellisense 以了解所有可用选项。


20
投票

我找到这个答案是为了寻找与原始问题相同的东西。 here提供的答案是正确的,但我不明白我需要把它放在哪里。所以我决定添加我自己的答案,希望能够指导处于相同情况的其他人......

您需要将以下代码添加到您的解决方案(如果您不使用解决方案,则添加到项目文件)。

"logging": {
    "moduleLoad": false
}

因为我不清楚需要在哪里添加它(我的“配置”节点中有两个单独的区域,称为“名称”:“.NET Core Launch(控制台)”和“名称”:“.NET Core Attach” ”),我想发布我的整个配置以使其更加清晰。

"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}"
    }
]

4
投票

答案正确地解释了如何在一般情况下禁用日志记录(通过编辑

.vscode/launch.json
)。

但这对于从 codelens 启动的调试会话不起作用:

在这种情况下编辑

.vscode/settings.json

"csharp.unitTestDebuggingOptions": {
  "logging": { "moduleLoad": false }
},

2
投票

接受的答案中的解决方案在调试 Blazor 项目时不起作用。

用这个代替:

"dotNetConfig": {
  "logging": { "moduleLoad": false }
}

0
投票

我认为以上所有答案现在都已经过时了。它们对我不起作用(版本 1.83.1)。对我有用的是在 settings.json 文件 (~/.config/Code/User/settings.json) 中添加以下行。

"csharp.debug.logging.moduleLoad": false
© www.soinside.com 2019 - 2024. All rights reserved.