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)