Debugowanie_NET_Zaawansowane_techniki_diagnostyczne_debnet.pdf
(
1224 KB
)
Pobierz
Debugowanie .NET. Zaawansowane techniki diagnostyczne
Idź do
Debugowanie .NET.
Zaawansowane techniki
diagnostyczne
Autor
:
Mario Hewardt
Tłumaczenie: Łukasz Piwko
ISBN: 978-83-246-2721-9
Tytuł oryginału:
Advanced .NET Debugging
Format: 168×237, stron: 528
• Spis treści
• Przykładowy rozdział
Katalog książek
• Katalog online
• Zamów drukowany
katalog
Twój koszyk
Sprawdź, jak rozwiązują problemy najlepsi specjaliści!
• Jak stworzyć niezawodny kod?
• Jak rozwiązywać problemy z synchronizacją wątków?
• Jak wykorzystać usługę raportowania błędów?
Czy znasz programistę, który nigdy w życiu nie użył debuggera? Dzisiejsze rozbudowane
i skomplikowane systemy informatyczne wymagają znakomitej znajomości zaawansowanych
narzędzi diagnostycznych. Bez nich wykrycie nawet najprostszego potknięcia mogłoby zająć długie
godziny, jeśli nie dni, a poświęcony czas wcale nie gwarantowałby sukcesu. Niestety, posługiwanie
się zaawansowanymi narzędziami wymaga równie zaawansowanej wiedzy. Jeśli nie masz pewności,
czy zgromadziłeś już wszystkie potrzebne Ci informacje, sięgnij po tę książkę – pozwoli to
błyskawicznie uzupełnić brakujące dane!
W pierwszej części książki będziesz mógł zapoznać się z podstawami programowania oraz
narzędziami wykorzystywanymi w codziennej pracy programisty. Poznasz między innymi metody
sterowania wykonywaniem programu, techniki inspekcji obiektowej, sposoby operowania na
wątkach oraz polecenia diagnostyczne platformy .NET. Część druga zawiera obszerny zakres
informacji dotyczących praktycznych aspektów diagnostyki oprogramowania. Dowiesz się, jak
wykrywać błędy w zarządzaniu stertą, jak rozwiązywać kłopoty z pamięcią oraz jak radzić sobie
z najbardziej skomplikowanymi problemami dotyczącymi wątków. Na samym końcu zapoznasz
się z zaawansowanymi zagadnieniami diagnostyki oprogramowania, takimi jak usługi raportowania
błędów, pliki obrazu oraz wyczerpujące opisy najlepszych narzędzi. W książce „Debugowanie .NET.
Zaawansowane techniki diagnostyczne” znajdziesz między innymi takie zagadnienia:
• Podstawowe informacje o dostępnych narzędziach
• Podstawy CLR
• Techniki diagnostyczne – sterowanie wykonaniem programu, punkty wstrzymania
• Inspekcja obiektowa oraz inspekcja kodu
• Dostępne polecenia wewnętrzne CLR oraz polecenia diagnostyczne
• Techniki odzyskiwania pamięci
• Rozwiązywanie problemów z synchronizacją wątków
• Metody diagnozowania wycieków interoperacyjności
• Wykorzystanie plików obrazu
• Generowanie zrzutów z wykorzystaniem debuggera
• Wykorzystanie usługi raportowania błędów
• Dostępne dodatkowe narzędzia, wspierające proces diagnostyczny
Twórz niezawodne oprogramowanie!
• Dodaj do koszyka
Cennik i informacje
• Zamów informacje
o nowościach
• Zamów cennik
Czytelnia
• Fragmenty książek
online
Kontakt
Helion SA
ul. Kościuszki 1c
44-100 Gliwice
tel. 32 230 98 63
e-mail: helion@helion.pl
© Helion 1991–2010
S
PIS TREŚCI
Przedmowa ...........................................................................17
Wstęp ....................................................................................19
Podziękowania .....................................................................29
O autorze ..............................................................................31
C
ZĘŚĆ
I
P
ODSTAWY
...................................................................................33
Rozdział 1. Podstawowe wiadomości o narzędziach ..............................35
Debugging Tools for Windows ................................................................................ 36
.NET 2.0 — Redistributable ........................................................................................ 37
.NET 2.0 — SDK .............................................................................................................. 38
SOS ..................................................................................................................................... 40
SOSEX ................................................................................................................................ 42
CLR Profiler ...................................................................................................................... 43
Mierniki wydajności ...................................................................................................... 46
Reflector for .NET ........................................................................................................... 47
PowerDbg ........................................................................................................................ 48
Managed Debugging Assistants .............................................................................. 50
Podsumowanie .............................................................................................................. 53
Rozdział 2. Podstawy CLR .......................................................................55
Przegląd wysokopoziomowy .................................................................................... 55
CLR i program ładujący Windows ............................................................................ 59
Ładowanie obrazów rodzimych ........................................................................ 60
Ładowanie zestawów .NET .................................................................................. 62
Domeny aplikacji ........................................................................................................... 66
Systemowa domena aplikacji ............................................................................ 69
Wspólna domena aplikacji ......................................................................................... 70
Domyślna domena aplikacji ............................................................................... 70
7
8
S
PIS TRECI
Zestawy ............................................................................................................................ 70
Manifest zestawu .......................................................................................................... 72
Metadane typu ........................................................................................................ 74
Tabela bloku synchronizacji ............................................................................... 81
Uchwyt do typu ...................................................................................................... 85
Deskryptory metod ................................................................................................ 92
Moduły ....................................................................................................................... 93
Tokeny metadanych .............................................................................................. 96
EEClass ....................................................................................................................... 98
Podsumowanie ............................................................................................................100
Rozdział 3. Podstawowe techniki diagnostyczne .................................101
Debuger i proces docelowy debugera ................................................................101
Symbole .........................................................................................................................106
Sterowanie wykonywaniem programu ...............................................................109
Przerywanie wykonywania ...............................................................................109
Wznawianie wykonywania ................................................................................110
Przemierzanie kodu .............................................................................................112
Kończenie sesji diagnostycznej .......................................................................116
Ładowanie rozszerzeń kodu zarządzanego .......................................................116
Ładowanie rozszerzenia SOS ............................................................................118
Ładowanie rozszerzenia SOSEX .......................................................................120
Kontrolowanie procesu debugowania CLR .......................................................121
Ustawianie punktów wstrzymania ........................................................................121
Punkty wstrzymania na funkcjach skompilowanych
przez kompilator JIT ............................................................................................124
Punkty wstrzymania na funkcjach jeszcze nieskompilowanych ..........127
Punkty wstrzymania w zestawach prekompilowanych ..........................130
Punkty wstrzymania na metodach uogólnionych ....................................133
Inspekcja obiektowa ..................................................................................................134
Zrzucanie pamięci surowej ...............................................................................137
Zrzuty typów wartościowych ...........................................................................140
Zrzuty podstawowych typów referencyjnych ............................................146
Zrzuty tablic ...........................................................................................................147
Zrzuty obiektów na stosie .................................................................................153
Sprawdzanie rozmiarów obiektów ................................................................155
Zrzuty wyjątków ...................................................................................................156
Operacje na wątkach .................................................................................................161
Polecenie ClrStack ................................................................................................162
Polecenie Threads ................................................................................................165
Polecenie DumpStack .........................................................................................169
Polecenie EEStack ................................................................................................171
COMState ................................................................................................................171
Inspekcja kodu .............................................................................................................172
Dezasemblacja kodu ...........................................................................................172
Wydobywanie deskryptora metod z adresu kodu ....................................174
Wyświetlanie instrukcji języka pośredniego ...............................................175
S
PIS TRECI
9
Polecenia wewnętrzne CLR .....................................................................................175
Sprawdzanie wersji CLR .....................................................................................176
Znajdowanie deskryptora metod po nazwie ..............................................176
Wykonywanie zrzutu bloku synchronizacji obiektu .................................177
Wykonywanie zrzutu tabeli metod obiektu ................................................177
Wykonywanie zrzutu informacji o stercie zarządzanej
i systemie odzyskiwania pamięci ....................................................................178
Polecenia diagnostyczne ..........................................................................................178
Znajdowanie domeny aplikacji obiektu .......................................................179
Informacje o procesie .........................................................................................179
Polecenia rozszerzenia SOSEX ................................................................................180
Rozszerzona obsługa punktów wstrzymania .............................................180
Zarządzane metadane ........................................................................................184
Dane stosu ..............................................................................................................185
Inspekcja obiektów ..............................................................................................187
Automatyczne wykrywanie zakleszczeń ......................................................188
Polecenia dotyczące sterty zarządzanej
i systemu odzyskiwania pamięci .....................................................................190
Zapisywanie zrzutów awaryjnych w plikach ......................................................192
Podsumowanie ............................................................................................................194
C
ZĘŚĆ
II
D
IAGNOSTYKA STOSOWANA
............................................................... 195
Rozdział 4. Program ładujący zestawy ..................................................197
Informacje wstępne ...................................................................................................197
Tożsamość zestawu .............................................................................................198
Globalny bufor zestawów ..................................................................................202
Domyślny kontekst ładowania ........................................................................205
Kontekst „load-from” ..........................................................................................206
Kontekst „load-without” ....................................................................................207
Prosty błąd ładowania zestawu ..............................................................................207
Błąd kontekstu ładowania ........................................................................................214
Interoperacyjność i wyjątek DllNotFoundException ......................................222
Debugowanie LCG ......................................................................................................224
Podsumowanie ............................................................................................................229
Rozdział 5. Sterta zarządzana i odzyskiwanie pamięci .........................231
Architektura pamięci systemu Windows ............................................................232
Alokowanie pamięci ............................................................................................236
System odzyskiwania pamięci ................................................................................241
Pokolenia .................................................................................................................242
Korzenie ...................................................................................................................251
Finalizacja ................................................................................................................258
Plik z chomika:
sq9nip
Inne pliki z tego folderu:
Visio_2002_dla_kazdego_vis22k.pdf
(1008 KB)
Vademecum_hakera_Zabezpieczenia_w_Windows_vahawi.pdf
(1381 KB)
Vademecum_hakera_Edycja_plikow_binarnych_vahace.pdf
(239 KB)
USB_Praktyczne_programowanie_z_Windows_API_w_C_usbppr.pdf
(574 KB)
UNIX_Sztuka_programowania_unszpr.pdf
(532 KB)
Inne foldery tego chomika:
Acrobat
After Effects
Bezpieczeństwo Sieci
Bezpieczeństwo Systemów
Bezpieczeństwo WWW
Zgłoś jeśli
naruszono regulamin