Znajdowanie i poprawianie błędów [Debugging] - Co dalej

Published: January 15, 2003 | Updated: February 24, 2005

Wstęp

Jednymi z najważniejszych i najczęściej używanych narzędzi debugger'a są pułapki (breakpoints) i szereg narzędzi oraz widoków służących diagnostyce i inspekcji analizowanych programów. Artykuł ten w szerokim zakresie omawia narzędzia debugger'a, a także przedstawia rekomendacje dotyczące debug'owania projektów i aplikacji różnego rodzaju.

Pułapki - breakpoints

Pułapki są najprawdopodobniej najczęściej wykorzystywanym narzędziem debugger'a. Pułapka wskazuje debugger'owi miejsce programu, w którym powinno zostać wstrzymane wykonywanie programu.

Visual Studio umożliwia wstrzymanie wykonywania kodu, kiedy program dotrze do wskazanej lokalizacji:

  • w funkcji (function breakpoint),

  • w pliku (file breakpoint),

  • adresu w pamięci (address breakpoint),

lub wykryta zostanie zmiana wartości zmiennej (z pewnymi ograniczeniami i tylko C++).

Dodatkowo każda pułapka może zostać zmodyfikowana przez ustalenie:

  • licznika wystąpień pułapki (hit count), który określa ile razy wykonanie programu musi przekroczyć pułapkę zanim wykonanie zostanie przerwane,

  • warunku (condition), który jest wyrażeniem określającym dla danej pułapki, czy powinna ona zostać uwzględniona (wystąpić), czy zostać pominięta.

Dodanie nowej pułapki odbywa się poprzez skorzystanie z opcji menu Debug, New Breakpoint (Ctrl+B), wskazania miejsca w programie i użycie opcji menu kontekstowego Insert Breakpoint lub użycie skrótu klawiszowego F9.

Dodawanie nowych i edycja istniejących pułapek jest możliwe w oknie kodu źródłowego (Source Code Window, domyślnie pułapka dla pliku), w oknie kodu deasemblowanego (Disassembly Window, domyślnie pułapka dla adresu w pamięci) oraz w oknie stosu wywołań (Call Stack Window, domyślnie pułapka dla adresu w pamięci). Dodanie pułapki dla funkcji odbywa się poprzez skorzystanie z opcji menu Debug, New Breakpoint i podanie nazwy funkcji, dla której ma zostać zarejestrowana pułapka.

Cezary Nolewajko

Ciąg dalszy artykułu w dokumencie do pobrania (Plik *.doc 85 KB) (9 stron)