在 vscode 调试控制台中禁用符号加载的详细日志记录
Posted
技术标签:
【中文标题】在 vscode 调试控制台中禁用符号加载的详细日志记录【英文标题】:Disable verbose logging of symbol loading in vscode debug console 【发布时间】:2019-09-05 02:52:41 【问题描述】:在运行我的 webapp(在 vscode 中)时,调试控制台充满了如下行:
已加载“/foo/bar/dotnet/shared/Microsoft.NETCore.App/2.2.4/System.Private.CoreLib.dll”。跳过加载符号。模块已优化,调试器选项“仅我的代码”已启用。
和
线程 123 已退出,代码为 0 (0x0)。
我认为这与appsettings.json
文件中的日志过滤有关,但这些不属于我可以禁用的任何类别。
这很烦人 - 我该如何禁用它?
【问题讨论】:
检查docs here 这应该尽可能清楚地回答:youtu.be/Rc2v2A1TIqI 【参考方案1】:这些日志由 VS Code 管理。您可以在.vscode
目录中的launch.json
文件中禁用它们。您可以在configurations
节点下添加以下节点来禁用模块加载消息:
"logging":
"moduleLoad": false
还有更多可用选项,例如 exceptions
和 programOutput
,请查看 Intellisense 了解所有可用选项。
【讨论】:
我也有 "engineLogging": true 在日志记录下。试图弄清楚为什么几个月前 VSCode 无法在我的计算机上运行,并且部分忘记了它。起初我不认为这是我收到过多调试控制台消息的部分原因。 谢谢,我的日志控制台现在干净到可以吃掉了【参考方案2】:我来这个答案是为了寻找与原始问题相同的东西。 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"
]
【讨论】:
这需要更多的支持。我浪费时间猜测应该去哪里,因为我只看了接受的答案,当我终于看到这个答案时,它终于奏效了。 谢谢。 ;) 很高兴它有帮助!【参考方案3】:答案正确解释了如何在一般情况下禁用日志记录(通过编辑.vscode/launch.json
)。
但这不适用于从 codelens 启动的调试会话:
在这种情况下编辑.vscode/settings.json
:
"csharp.unitTestDebuggingOptions":
"logging": "moduleLoad": false
,
【讨论】:
以上是关于在 vscode 调试控制台中禁用符号加载的详细日志记录的主要内容,如果未能解决你的问题,请参考以下文章