Skocz do: nawigacji, wyszukiwania

Instacs3


Interpretacja rezultatów


Po zakończeniu analizy automatycznie otwierana jest zakładka Summary. Dla analizowanej przez nas aplikacji wygląda ona następująco:

Insp te cpu 2.png

Błędy znalezione w trakcie analizy zostają wyświetlone na liście. Są one grupowane według typu błędu oraz linii kodu, która go powoduje. Obok listy znajduje się Filtr, który umożliwia szybkie wyszukiwanie błędów (świetnie nadaje się w przypadku dużych aplikacji składających się z kilku plików źródłowych). W dolnej części zakładki znajduje się sekcja Code Location, w której przedstawiona jest linijka kodu powodująca błąd. W sekcji tej znajduje się również informacja o ilości sytuacji powodujących błędy dla wybranej z listy pozycji oraz o numerze aktualnie przeglądanej. Obok sekcji Code Location znajduje się Timeline, w którym wyświetlona zostaje informacja pomiędzy, które wątki programu powodują błąd oraz na jakim etapie wykonywania aplikacji występują.

Po wykonaniu analizy widzimy, że w przypadku analizowanej aplikacji mamy do czynienia z dwiema sytuacjami wyścigu.

  1. Zaznaczamy pierwszą pozycję na liście
  2. W sekcji Code Location pojawia się informacja o liczbie sytuacji wyścigu (1 of 2). Przyciski Button 7.png Button 8.png umożliwiają przełączanie się pomiędzy nimi, co umożliwia sprawdzenie jakie wątki ją powodują oraz jaką operację wykonują – Read / Write (odnosi się ona do zaznaczonej linii kodu). Jeśli chcemy zobaczyć wszystkie sytuacje w postaci jednej listy, klikamy przycisk All. Na zaprezentowanym fragmencie kodu źródłowego widzimy, że w tym przypadku mamy do czynienia z sytuacją wyścigu do zmiennej x.
  3. Klikamy dwukrotnie pierwsza pozycje na liście. Powoduje to otwarcie zakładki Source, która wygląda następująco:
    Insp te cpu 3.png

Zakładka Source przedstawia dane zawarte w sekcji Code Location zakładki Summary w bardziej przejrzysty, przyjazny dla użytkownika sposób. Zaprezentowany w niej kod dotyczy całego pliku źródłowego, w którym znaleziono problem. Przełączanie się pomiędzy poszczególnymi sytuacjami powodującymi błędami możliwe jest przy pomocy przycisków Button 9.png / Button 10.png , które rozwijają / zwijają zaprezentowane informacje. Zakładka Dissasembly przedstawia kod asemblerowy z zaznaczoną instrukcją, która powoduje błąd. W przypadku większości analizowanych aplikacji rozpoznanie problemu możliwe jest na podstawie fragmentu kodu źródłowego zaprezentowanego w sekcji Code Location zakładki Summary.

  1. Wracamy do zakładki Summary
  2. Zaznaczamy drugą pozycje na liście
  3. W sekcji Code Location widzimy, że mamy do czynienia z czterema sytuacjami wyścigu. Na zaprezentowanym fragmencie kodu źródłowego, widzimy, że dotyczą one zmiennej sum



< Wstecz

Dalej >