Dun*_*unk 10 c# visual-studio-debugging
所以我设置了一个System.Timers.Timer并拥有该Elapsed事件的处理程序.它按预期工作.
但是,如果我想调试在已用过的处理程序中调用的代码; 计时器将继续生成其他事件.因此,我无法单步执行代码,因为计时器事件相互叠加.
当前的解决方法是Stop在进入处理程序和Start离开时调用计时器.但是,这不是系统应该如何工作,因此这是一个临时修复.我想知道是否有办法配置调试器在调试时暂停计时器.
在Timer.Elapsed事件处理程序中,也许您可以使用一些预处理程序指令来包含停止和启动(或禁用和启用)计时器的代码:
private static void OnTimedEvent(object source, ElapsedEventArgs e)
{
#if DEBUG
(source as Timer).Stop();
// or
(source as Timer).Enabled = false;
#endif
// do your work
#if DEBUG
(source as Timer).Start();
// or
(source as Timer).Enabled = true;
#endif
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4407 次 |
| 最近记录: |