过度调试输出的解决方法“事件 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 参数定义的”的主要内容,如果未能解决你的问题,请参考以下文章
斯坦福机器学习-第三周(分类,逻辑回归,过度拟合及解决方法)