调试和使用QuickWatch

时间:2015-06-12 21:36:09

标签: c# wpf debugging visual-studio-2013 tracelistener

我正在使用VS2013社区,.Net 4.5和第三方图形库调试一个小型WPF应用程序,有时在我F5-Launch时,我的Debug.Assert失败不会在调试器中提示或中断,只写入调试输出...(如果AssertUiEnabled == false,则预期的行为,但......我将其保留为真)。

我正在使用DefaultTraceListener,而我还没有定义< assert>我的配置文件中的元素。

我无法可靠地重现,但我在调试时见证了有时((DefaultTraceListener)Debug.Listeners[0]).AssertUiEnabled == false,而且当我开始使用QuickWatch和/或F10逐步执行代码时,似乎就会发生这种情况。我的看法是,它与将活动窗口切换到正在调试的wpf应用程序有关。 AssertUiEnabled启动为true,然后在包含F10-StepOver和CtrlDQ-QuickWatch 的未知repro步骤之后,我发现它是假的。

问题:当我在Windows中切换或打开/关闭VS2013中的QuickWatch窗口时,是否有任何理由让AssertUiEnabled将自身设置为false?

我相信我所看到的是Causing VS2010 debugger to break when Debug.Assert fails的根本原因 - (OP问为什么他没有得到调试器来断开assert.fail)

我读过一些关于在调试Web服务时添加custom TraceListeners的文章,以及DefaultTraceListener in Mono defaults to AssertUiEnabled = false如何但我认为.Net 4.5运行时的DefaultTraceListener是我想要的,它只是自我禁用AssertUI原因不明。我可以解决它,但我很好奇为什么价值在变化。

0 个答案:

没有答案