Tak więc skonfigurowałem System.Timers.Timer
i mam obsługę zdarzenia Elapsed
. Działa zgodnie z oczekiwaniami.Jak zatrzymać czasomierz podczas debugowania
Jednakże, jeśli chcę debugować kod, który jest wywoływany w upływającym module obsługi; timer będzie generował dodatkowe zdarzenia. W związku z tym nie mogę wykonać pojedynczego kroku w kodzie, ponieważ zdarzenia z timerem układają się jeden na drugim.
Obecne obejście polega na wywołaniu Stop
na zegarze po wejściu do obsługi i Start
przy opuszczaniu. Jednak nie jest tak, jak powinien działać system, więc jest to tymczasowa poprawka. Zastanawiam się, czy istnieje sposób, aby skonfigurować debugger, aby zatrzymać timer podczas debugowania.
+1 - Dla właściwości Debugger.IsAttached. Myślę, że podoba mi się to lepiej niż #if. – Dunk
szczerze mówiąc: to zależy od tego, co chcesz osiągnąć - z #p coś, czego nie masz w ogóle w swoim wydaniu-wersji, gdzie druga opcja będzie tam nieużywaną ścieżką kodu. – Carsten