środa, 6 kwietnia 2011

Debug.Assert oraz Debugger – metody Break i Launch [PL]

Gdy podczas debuggowania aplikacji chcemy ją zatrzymać w pewnym miejscu, zwykle ustawiamy „breakpoint”, aby jednak ten sposób zadziałał, musi być podłączony do procesu, który chcemy debuggować Debugger.

Co można jednak zrobić, gdy tak nie jest (nie zawsze uda nam się ręcznie podłączyć (attach))?

Gdy debugger nie jest podłączony do procesu, to można takie podłączenie wymusić dzięki wykorzystaniu klas z przestrzeni nazw System.Diagnostic:

W przypadku Debugger.Launch i Debugger.Break zwykle wystarczy wywołać samo Break, jednak czasami trzeba jeszcze wymusić uruchomienie debuggera poprzez wcześniejsze wywołanie Launch.

W przypadku Debug.Assert(...) możemy łatwo sterować czy rzeczywiście chcemy się zatrzymać, poprzez wykorzystanie parametru przekazywanego jako wartość logiczna. Cechą charakterystyczną dla Debug.Assert jest to, że wszystkie odwołania do tej funkcji „znikają”, gdy aplikacja jest skompilowana do Release (stała DEBUG nie jest zdefiniowana podczas kompilacji).

Taki sposób debuggowania może być szczególnie wygodny w przypadku testów aplikacji, które nie są przez nas aktywowane (np. obiekty COM, czy serwisy w sensie systemu Windows).

Promuj

Brak komentarzy:

Prześlij komentarz

Posty powiązane / Related posts