过度调试输出的解决方法“事件 X 使用 Y 参数调用,但它是使用 Z 参数定义的”

Posted

技术标签:

【中文标题】过度调试输出的解决方法“事件 X 使用 Y 参数调用,但它是使用 Z 参数定义的”【英文标题】:Workaround for excessive debug output "Event X was called with Y arguments, but it is defined with Z parameter(s)" 【发布时间】:2017-12-16 16:20:26 【问题描述】:

VS2017 调试窗口中的示例(但在其他 VS 版本中似乎也有):

Event 7 was called with 5 argument(s) , but it is defined with 6 paramenter(s).

查找原因: TPL ETW events have extra parameters that cause excessive debugger output Filter custom message from Visual Studio 2015 output window

但在更新或类似解决此问题之前 - 对解决方法有什么建议吗? (代码/工具/???)

我真的想保持我的调试输出窗口正常工作,而不是被相同的(无用的)消息淹没。

在输出窗口中禁用某些类型的消息没有好处,因为它删除了我想要的输出消息。 (Disable noise messages in debug output windows - visual studio 2012)

也曾尝试找到可以过滤的VS扩展,但没有成功。

在这条路上,VSColorOutput 可能可以用来匹配正则表达式,然后将这些消息的颜色更改为与输出窗口中的背景颜色相同的颜色......但这感觉真的很讨厌, 并且会在输出窗口中给出无穷无尽的空白行。

【问题讨论】:

【参考方案1】:

安装最新的点网框架。他们现在已经解决了这个问题。

在此处查看合并的 PR:https://github.com/dotnet/coreclr/pull/8942

【讨论】:

以上是关于过度调试输出的解决方法“事件 X 使用 Y 参数调用,但它是使用 Z 参数定义的”的主要内容,如果未能解决你的问题,请参考以下文章

斯坦福机器学习-第三周(分类,逻辑回归,过度拟合及解决方法)

Android开发Android界面性能优化

APP性能测试—过度绘制

vs调试时底部输出调试信息“无法查找或打开 PDB 文件”解决办法

linuxlog输出到终端怎么解决

过度拟合