VS Code .NET Core项目显示详细的调试控制台消息

时间:2018-05-08 01:33:31

标签: c# visual-studio-code .net-core

我是VS Code的新手。但是,有一件事我注意到我所拥有的一个项目真的很烦我。每当我使用内置调试器在VS Code中运行项目时,它会向我显示如下消息:

Loaded /usr/local/share/dotnet/shared/Microsoft.NETCore.App/2.0.0/System.Private.CoreLib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enable

它显示了我引用的每个DLL的消息。这会在我的调试控制台中导致大量无根据的日志。我有两个问题:

  • 为什么会显示此信息?
  • 有可能摆脱它吗?

2 个答案:

答案 0 :(得分:4)

适用于dotnet core 2.2,未在其他任何地方进行验证

我刚刚找到了一种使用logging选项消除大多数噪音的方法。不幸的是,我仍然看到一些程序输出,例如线程信息,因为我们当前有日志记录到控制台。我尚未完全按照自己喜欢的方式进行设置,但目前效果更好。

./.vscode/launch.json中,将logging选项添加到您的配置中:

"configurations": [
        {
            "name": "Your config name",
            "type": "coreclr",
            "request": "launch",
            "logging": {
                "engineLogging": false,
                "moduleLoad": false,
                "exceptions": false,
                "browserStdOut": false
            },
// ... the rest of your existing config. surrounding code shown for placement purposes.

您可能仍然希望将异常输出到控制台,但是到目前为止,我发现甚至记录了已处理的异常。我想忽略这些,因此在这里将exceptions设置为false

答案 1 :(得分:1)

对于Visual Studio代码:

使用omnisharp-vscode for .net core development 这为您提供了定制的可能性 debugger launch with a json file
例如,您可以使用以下选项:

    "justMyCode":false*
    "symbolOptions": {
    "searchPaths": [
        "~/src/MyOtherProject/bin/debug",
        "https://my-companies-symbols-server"
    ],
    "searchMicrosoftSymbolServer": true,
    "cachePath": "/symcache",
    "moduleFilter": {
        "mode": "loadAllButExcluded",
        "excludedModules": [ "DoNotLookForThisOne*.dll" ]
       }
    }

对于Visual Studio:

当你加载符号文件(pdb)时,你可以摆脱它。调试时 你可以打开Module窗口(Debug - > Windows - > Module)并右键单击未加载符号的模块,然后选择Load Symbols ...

如果您要禁用"只需我的代码",请打开工具 - >选项 - >调试 - >常规并清除复选框"启用我的代码(仅管理)"