Konfiguracja sprzętu i oprogramowania

Process Monitor, czyli jak sprawić, by oprogramowanie działało jako użytkownik. Process Monitor, czyli jak sprawić, by oprogramowanie działało jako użytkownik Process Monitor

Process Monitor dla Windows 7 to monitor oprogramowania i narzędzie do kontroli procesów w systemie operacyjnym. Pracuje w tło, wyświetlanie aktywności systemu plików, zmian w rejestrze, uruchomionych usług, strumieni danych. Do wyboru są dwa rodzaje filtrowania: bezpieczne i zaawansowane.

Za pomocą tego programu użytkownik może uzyskać wyczerpujące informacje o właściwościach zdarzeń systemowych i operacji zachodzących w systemie operacyjnym. Dodatkowo możesz dowiedzieć się o ładowaniu obrazów, bibliotek DLL, sterowników. Po przeanalizowaniu tych informacji możesz wykryć i naprawić różne problemy, pozbyć się oprogramowania antywirusowego. Zalecamy pobranie Monitora procesu dla Windows 7 w języku rosyjskim bez rejestracji i SMS-ów z oficjalnej strony.

Informacje o programie
  • Licencja: bezpłatna
  • Deweloper: Microsoft
  • Języki: rosyjski, ukraiński, angielski
  • Urządzenia: PC, netbook lub laptop (Acer, ASUS, DELL, Lenovo, Samsung, Toshiba, HP, MSI)
  • System operacyjny: Windows 7 Ultimate, Home Basic, Starter, Professional, Enterprise, Home

Monitor procesu- narzędzie do pracy z rejestrem, system plików, procesy i wątki działania Systemy Windows. Program łączy w sobie zalety poprzedniego Aplikacje Windows przeznaczony do monitorowania pracy systemu. Monitor procesu obsługuje zaawansowane filtrowanie, jednoczesne zapisywanie informacji do pliku. Za pomocą narzędzia możesz śledzić początek i koniec bieżących procesów i wątków. Aplikacja obsługuje śledzenie pobierania obrazów Biblioteki DLL, kierowcy różne urządzenia. Narzędzie gromadzi więcej danych o parametrach wykonanych operacji wejścia i wyjścia. Zbieranie stosów wątków pozwala określić podstawową przyczynę konkretnej operacji. Process Monitor ma wbudowane wskazówki dotyczące procesu, aby ułatwić przeglądanie informacji o określonym obrazie procesu.



- Zaprojektowany do przeglądania i pracy z plikami rejestru, procesami, stosami wątków i systemem plików.
- Pozwala ustawić filtry, które nie prowadzą do utraty informacji.
- Kolumny niestandardowe można przenosić dla każdej właściwości zdarzenia.
- Dzięki formatowi dziennika wszystkie dane są zapisywane do późniejszego pobrania w innej wersji programu.
- Wykonuje solidne wyszukiwanie danych procesu, które obejmuje informacje o ścieżce obrazu procesu, identyfikatorze użytkownika i sesji.
- Obsługuje nieciągłe wyszukiwanie i rejestrowanie każdej operacji aktywnej podczas uruchamiania systemu.

Wady programu

- Ma zamknięty kod źródłowy.
- Nie ma języka rosyjskiego.

- Procesor z częstotliwość zegara 800 MHz lub mocniejszy.
- Baran 128 MB lub więcej.
- Wolne miejsce na dysku twardym od 3 MB.
- Architektura 32-bitowa lub 64-bitowa (x86 lub x64).
- System operacyjny Windows XP, Windows Vista, Windows 7, Windows 8, Windows 10

Menedżerowie zadań: tabele porównawcze

Nazwa programu Po rosyjsku dystrybucje Instalator Popularność Rozmiar Indeks
★ ★ ★ ★ ★ 1,1 MB 97
★ ★ ★ ★ ★ 2 MB 99
★ ★ ★ ★ ★ 1,8 MB 98
★ ★ ★ ★ ★ 1 MB 98

Dzisiaj postaram się rozwiązać problem poprawnego działania oprogramowania na prawach użytkownika na przykładzie oprogramowania (Prima Expert Digital Microscope) dla mikroskopu cyfrowego firmy LOMO SA.


Jak w wielu przedsiębiorstwach, mamy ścisłą politykę bezpieczeństwa zapisaną w STP, a zwykli pracownicy nie mają uprawnień administratora, więc od czasu do czasu pojawiają się problemy z działaniem oprogramowania w ramach konta użytkownika. Oprogramowanie wymaga rozszerzonych uprawnień.

Więc co mam na początku, OTC (dział kontroli technicznej) poprosił o instalację dołączonego oprogramowania mikroskopu "Expert Prima wersja 1.0" na zwykłym komputerze użytkownika z systemem Windows XP.

Instalacja powiodła się, ale napotkano następujący problem. Program nie widzi kamery i wycina interfejs po uruchomieniu spod użytkownika, pod administratorem oprogramowanie działa poprawnie.

Pierwszą rzeczą, którą próbowałem zrobić, było zezwolenie użytkownikowi na zmianę katalogu za pomocą programu LOMO.

Ta akcja nie dała pozytywnych rezultatów. Uzbrojony w narzędzie Process Monitor konfiguruję w nim filtr dla procesu Prima.exe i uruchamiam oprogramowanie Prima Expert.

Narzędzie wyświetla wszystkie zasoby systemowe, których dotyczy problem, aby Prima.exe działał

Sortuję według pola Szczegóły i przechodzę do obejrzenia krzaków, których dotyczy problem, interesuje mnie wartość Desired Access: Read / Write.

Daję pełny dostęp użytkownikowi w folderach rejestru:

HKLM\Oprogramowanie\Microsoft\VfWWDM Mapper
HKLM\System\CurrentControlSet\control\MediaResources\msvideo\MSVideo.VFWWDM

Dlaczego te konkretne foldery? Bo użytkownik ma pełny dostęp do HKCU - to jego oddział.

Biegnę sprawdzić, czy program działa poprawnie.

Mam nadzieję, że artykuł przyda się początkującym adminom i enikeys. Używam tej metody od bardzo dawna. Jest wszechstronny i nigdy mnie nie zawiódł.

Na temat programu Process Monitor podano już sporo materiału, a zapoznanie się z podstawami działania narzędzia zawsze było dostępne nawet dla nieprzygotowanego użytkownika. Mimo to osobiście nie bardzo rozumiałem wiele aspektów pracy (a niektórych nadal nie rozumiem :), więc postanowiłem napisać o tym kolejną notatkę, bardzo przydatne narzędzie, aby później można było wykorzystać artykuł jako swego rodzaju podpowiedź. Jeśli rozważymy dowolny system operacyjny z punktu widzenia uogólnienia, możemy warunkowo rozróżnić go na bloki kodu / danych, które oddziałują ze sobą w oparciu o określone wzorce. Aby zbliżyć się do znanych nam terminów, wspomniany blok rozważymy jako proces łączący zarówno kod, jak i dane, mający na celu rozwiązanie konkretnego problemu. Interakcja między takimi procesami stanowi zatem (z pewnymi wyjątkami) koncepcję funkcjonowania systemu operacyjnego. Gdy system operacyjny działa, działa duża liczba procesy i cel każdego z tych procesów mogą różnić się w dość szerokim zakresie.

Każdy proces w systemie operacyjnym, poprzez połączenie własnych operacji i wyników ich wykonania, faktycznie określa odcisk działania systemu w takim czy innym czasie. Ale, jak wiemy z teorii, same procesy są tylko pojemnikami na wątki (wątki), które bezpośrednio robią wszystko praca obliczeniowa. Jasne jest, że wątki są kodem, zbiorem instrukcji maszynowych wykonywanych przez procesor, ale jest to postrzegane na dość niskim poziomie. Jeśli działa Konstrukcje okienne, to wątki nadal zawierają kod maszynowy, jednak cała funkcjonalność systemu operacyjnego jest dostępna poprzez wywoływanie funkcji różnych bibliotek systemowych i wywoływanie sterowników, więc wątki oprócz prostych operacji arytmetyczno-logicznych współdziałają z różnymi podsystemami Windows : pamięć wirtualna, system plików, rejestr, komponenty sprzętowe i wiele innych. Komunikacja międzyprocesowa jest tak intensywna, że ​​w danym momencie w systemie wykonywane są tysiące takich operacji. W związku z tym w realiach systemu Windows interesujące byłoby obserwowanie interakcji procesów z niektórymi składnikami systemu operacyjnego na poziomie funkcji i wyników ich wykonywania, ponieważ to właśnie ten poziom aktywności jest całkiem wystarczający rozwiązać większość problemów. Takie informacje byłyby dla nas niezwykle przydatne zarówno z punktu widzenia czysto badawczego zainteresowania badaniem algorytmów, jak i z punktu widzenia znajdowania rozwiązań niektórych problemów, które pojawiają się w toku pracy. Ale będziemy potrzebować narzędzia, które jest w stanie to zapewnić dokładna informacja, ponieważ musimy zagłębić się w komunikację między procesami znacznie głębiej niż poziom wbudowanych narzędzi, aby zrozumieć, co konkretnie robią procesy. Coś podobnego zapewnia nam narzędzie o nazwie Monitor procesu, który należy do klasy narzędzi o rozszerzonej funkcjonalności i będzie tematem naszego dzisiejszego artykułu.
Monitor procesu- program do monitorowania aktywności procesów w systemie operacyjnym, który w trybie logowania operacji umożliwia śledzenie aktywności procesów w odniesieniu do takich podsystemów SO jak system plików, rejestr, sieć. Umożliwia oszacowanie ilości czasu procesora zużywanego przez wykonywanie wątków w ramach procesów.
Process Monitor wykonuje monitorowanie w czasie rzeczywistym dla następujących klas zdarzeń:

  • System plików: tworzenie (otwieranie) / zamykanie / odczyt / zapis / usuwanie elementów systemu plików: plików, katalogów, atrybutów, treści.
  • Rejestr: tworzenie/odczyt/zapis/wyliczanie/usuwanie elementów rejestru: gałęzie, klucze, wartości.
  • Sieć: nawiązywanie połączenia, przesyłanie danych, zamykanie połączenia. Informacje o źródle/odbiorcy ruchu TCP/UDP. Ogólne informacje o protokołach, pakietach. Same przesyłane dane nie są rejestrowane.
  • Proces/wątek: Utwórz proces, utwórz wątek w procesie, zakończ wątek/proces. szczegółowe informacje o procesie (ścieżka, wiersz poleceń, identyfikator użytkownika/sesji), uruchamianie/zamykanie, ładowanie obrazów (biblioteki/sterowniki), stos wykonawczy.
  • Profilowanie: Specjalna klasa zdarzeń, które są rejestrowane w celu śledzenia ilości czasu procesora używanego przez każdy proces. Wykorzystanie pamięci procesu.

Od razu przychodzą na myśl główne, najbardziej prawdopodobne scenariusze wykorzystania Process Monitor:

  • W jakich konkretnych kluczach rejestru ten lub inny program przechowuje swoje ustawienia?
  • Jakie operacje wykonuje proces na początku, podczas pracy i na etapie zamykania?
  • Kto jest właścicielem niektórych plików? Jak często właściciel się z nimi kontaktuje?
  • Jaki proces uzyskuje dostęp do zewnętrznych węzłów sieci?
  • Jaki proces spowalnia ładowanie systemu operacyjnego?

Process Monitor pozwala uzyskać odpowiedź na pytanie: jakie akcje wykonuje dany proces w systemie.

Ale w przeciwieństwie do narzędzi takich jak Process Explorer, nie jest to narzędzie czasu rzeczywistego, które pozwala na interakcję z procesami w ruchu, zamykanie uchwytów, zabijanie procesów i wykonywanie innych podobnych działań, ale raczej globalny dziennik składający się ze zdarzeń występujących w system operacyjny. Słowo kluczowe w poprzednim zdaniu było „szczegółowe”, ponieważ nie oznacza ono zdarzeń, do których jesteśmy przyzwyczajeni np. w Dzienniku Zdarzeń, ale te niższego poziomu, które występują na danym zestawie funkcji API jakiegoś systemu operacyjnego składniki. Te, a także kilka innych, unikalne funkcje funkcjonalność sprawia, że ​​Process Monitor jest niemal niezbędnym narzędziem do rozwiązywania problemów i wyszukiwania przyczyn podejrzanej aktywności w systemie.
Ale nie spiesz się z fascynacją, bo każda beczka miodu zawsze ma swoją muchę w maści. Tak więc w przypadku Monitora procesu są pewne „niuanse”. Nie powinieneś traktować Monitora procesów jako rodzaju magicznej różdżki na każdą okazję, ponieważ nie "widzi" wszystkiego. Na przykład nie będzie śledzić ruchu wskaźnika myszy, przeciągania okien, nie pokaże zawartości pakietów ruchu sieciowego, nie pokaże całej różnorodności funkcji wywoływanych przez program, a to jest dalekie od pełna lista rzeczy, których Process Monitor nie może zrobić. Jak w każdej branży diagnozowania problemów z systemem operacyjnym, tak zestaw narzędzi dostarcza z grubsza ograniczony zestaw funkcji i operacji wątku, pozostawiając miejsce na działanie i wymagający niezależnych wniosków, a czasem dość głębokiej wiedzy od specjalisty, które stanowią podstawę jakiejkolwiek analizy. Nie zakładam, że absolutnie wszystkie problemy zdiagnozowane za pomocą Process Monitora wymagają wysoki poziom znajomość architektury systemu operacyjnego, ale nie jest to takie rzadkie zjawisko. Przykład z natury: raz dostałem błąd w Outlooku 2010, gdy we właściwościach programu Outlook.exe ustawiono opcje zgodności, które uniemożliwiały uruchomienie programu z błędem uruchamiania „Nie można otworzyć domyślnych folderów poczty. Nie można otworzyć magazyn wiadomości” . Możesz śledzić ten problem za pomocą narzędzia Process Monitor, ale musisz wiedzieć, czego szukać w ogromnym stosie wiadomości z procesu programu Outlook. W takim przypadku konieczne było szukanie flag WINSRV08SP1 i RUNASADMIN podczas odczytywania klucza AppCompatFlags, co samo w sobie wskazuje, że czasami musimy sobie wyobrazić, co chcemy znaleźć. Idealnie (a ideał jest nieosiągalny) fajnie byłoby sobie wyobrazić, jak dokładnie zmienia się profil programu ładowanego w trybie zgodności na poziomie generowanych zdarzeń w stosunku do typowego obciążenia aplikacji. Ostatecznie trzeba było zrozumieć, dlaczego klient poczty Nie udało się wczytać konfiguracji użytkownika. Oczywiście może ten konkretny przykład nie jest tak orientacyjny, bo jest dość skomplikowany i rozsądniej byłoby użyć innych środków, chcę tylko zwrócić uwagę na to, że Process Monitor nie jest debuggerem i nie potrafi złapać miejsce, w którym funkcja wyświetlania okna zostanie wywołana z błędem, nie będzie w stanie przeniknąć logiki pracy jednego lub drugiego funkcja wewnętrzna, nie pokaże stanu rejestrów, obszarów pamięci i innych struktur ważnych dla procesu. Czasami nie ma widocznego wyniku o braku dostępu, dlatego czasami zebrane informacje zawierają opis problemu, a wyniki uzyskane przez Process Monitor należy przemyśleć. Rzadko zdarzają się przypadki, w których funkcjonalność Process Monitor” to po prostu za mało, aby dotrzeć do sedna problemu, ale nie umniejsza to zalet tego narzędzia, ponieważ w większości przypadków pozwala szybko dotrzeć do przyczyny błędu. t od razu włączać debugger dla każdego błędu i spędzać godziny w całym okresie, próbując przestudiować algorytm wadliwego modułu?... chociaż :)
Narzędzie Process Monitor zawiera funkcje wcześniejszych programów Sysinternals, narzędzia do monitorowania rejestru Regmon i narzędzia do monitorowania systemu plików Filemon, które już dawno minęły. Oprócz tego Process Monitor może zapisać cały dziennik zdarzeń w pliku o rozmiarze do 1 gigabajta.

Jak to działa

W procesie monitorowania aktywności Process Monitor ujawniono ciekawą funkcję, okazuje się, że program korzysta z własnego sterownika trybu jądra (a co z sygnaturą? A sygnatura pochodzi z Symanteca). W systemie 32-bitowym Process Monitor używa 32-bitowego sterownika filtru o nazwie procmon23.sys zarówno w czasie wykonywania bezpośredniego obrazu wykonywalnego, jak i na etapie uruchamiania systemu operacyjnego (gdy włączona jest opcja Włącz rejestrowanie rozruchu). Ale poza samym obrazem wykonywalnym procmon.exe nie ma innych plików binarnych w katalogu roboczym aplikacji, prawda? Faktem jest, że sterownik jest spakowany w ciele głównego modułu wykonywalnego procmon.exe . Używając dowolnego narzędzia zasobów pliku PE, możesz sprawdzić, czy sterownik procmon23.sys jest zawarty w Plik wykonywalny w zasobie RCDRIVERNT katalogu BINRES sekcji zasobów, czyli jest częścią głównego pliku:

W systemie 64-bitowym Process Monitor dekompresuje się do katalogu tymczasowego %TEMP% podczas uruchamiania ukryty plik o nazwie Procmon64.exe . Obraz procmon64.exe znajduje się w zasobie katalogu BINRES 1308 w sekcji zasobów głównego pliku procmon.exe. Ale już w samym Procmon64.exe, w sekcji BINRES sekcji zasobów, znajduje się 64-bitowy sterownik, który jest używany podczas pracy.

Sterownik procmon23.sys może również działać jako sterownik trybu rozruchu. Gdy użytkownik aktywuje opcję Włącz rejestrowanie rozruchu, Monitor procesu kopiuje sterownik do folderu %SystemRoot%\System32\Drivers i zapisuje go w kluczu rejestru HKLM\SYSTEM\CurrentControlSet\Usługi z wartością parametru Start = 0, co oznacza, że ​​sterownik zostanie załadowany na etapie wykonywania Winload.exe podczas uruchamiania systemu operacyjnego.

Wygląda na to, że wszystkie zdarzenia monitorowane przez Process Monitor przechodzą przez ten sterownik filtra. Oprócz tego Process Monitor wykorzystuje technologię Ślady zdarzeń(ETW, Event Tracing for Windows), przynajmniej do monitorowania zdarzeń aktywności sieciowej. Nie jest jeszcze do końca jasne, czy ten sam sterownik jest używany jako kontroler i odbiornik dla ETW, czy też sam moduł wykonywalny? Przypomnę, że ETW jest rodzajem rozszerzalnego systemu logowania wbudowanego w system Windows, zaimplementowanego na poziomie jądra i umożliwiającego (na żądanie) zbieranie zdarzeń z aplikacji trybu użytkownika i modułów trybu jądra. A jak wiemy, prawie wszystkie komponenty systemu operacyjnego zawierają możliwość śledzenia bieżących operacji. Oczywiste jest, że funkcjonalność ETW jest znacznie szersza, dostarcza bogactwo informacji na temat funkcjonowania: przełączanie kontekstu, statystyki przerwań, wywołania odroczonych procedur (DPC), procedury obsługi przerwań (ISR), tworzenie i niszczenie procesów i wątków, dysk We/Wy, strony błędów, przejścia procesora między trybami pracy (stan p), operacje rejestru i wiele więcej.

Berło

Przed rozpoczęciem dobrze byłoby uzyskać moduł wykonywalny narzędzia. Możesz pobrać Process Monitor stąd. Narzędzie jest rozpowszechniane jako aplikacja przenośna i nie wymaga instalacji, ale można je po prostu wyodrębnić z plik archiwalny do dowolnego katalogu, co jest niezwykle przydatne podczas diagnozowania z nośników przenośnych oraz podczas integracji ze środowiskiem przedinstalacyjnym (WinPE).

Ponieważ Process Monitor korzysta z własnego sterownika, do jego uruchomienia wymagane są uprawnienia administratora lokalnego.

Jeśli uruchomisz Process Monitor z filtrami zainstalowanymi w poprzednich sesjach, program otworzy okno ustawień filtra (Filtr). Odbywa się to, aby użytkownik mógł, w razie potrzeby, zmodyfikować filtry przed rozpoczęciem procedury zbierania danych.
Interfejs Process Monitor jest niezwykle prosty i domyślnie wygląda tak:

Zgadzam się, wszystko genialne jest naprawdę proste. Prostota interfejsu warunkuje intuicyjne postrzeganie tego, co dzieje się w systemie. Natychmiast po uruchomieniu Process Monitor natychmiast rozpoczyna przechwytywanie zdarzeń występujących w systemie operacyjnym, monitorując główne komponenty, takie jak: system plików, rejestr, sieć, aktywność procesów/wątków. Po przechwyceniu zdarzenia, które nie mieszczą się w filtrze, są wyświetlane w porządku chronologicznym w głównym oknie aplikacji. Co więcej, użytkownik obserwuje tak ogromną ilość danych, która w pierwszej chwili może łatwo zniechęcić, że cała ta tona danych natychmiast przepełnia główne okno programu i przekracza jego granice, o czym wymownie mówi szybko zmniejszający się suwak bocznego przewijania. Każde wyjście liniowe w ten sposób reprezentuje zdarzenie, które wystąpiło w systemie, widoczne i przechwycone przez sterownik Process Monitor i nieobjęte regułami filtrowania. Główna tablica informacji jest odpowiednio sformatowana jako tabela, każdy wiersz jest podzielony na szereg kolumn, których skład i układ można zmienić za pomocą ustawień programu. Domyślna konfiguracja wykorzystuje następujące kolumny:

Kolumna Nazwa Przeznaczenie
1 Pora dnia Godzina wystąpienia zdarzenia. Wyświetlane w ułamkach sekundy w formacie GG:MM:SS,SSSSSSSS z dokładnością do siedmiu miejsc po przecinku. Dokładność wyświetlanej wartości czasu zależy od dokładności timera sprzętowego zastosowanego w komputerze (8254/RTC/HPET).
2 Nazwa procesu Nazwa procesu. Kolumna wyświetla nazwę procesu, który wykonał operację. Wyświetlana jest tylko nazwa procesu, jednak po najechaniu kursorem na interesującą Cię nazwę wyświetli się również pełna ścieżka do modułu. Kolumna wyświetla ikonę (ikonę) aplikacji, spakowaną w sekcji zasobów pliku binarnego.
3 PID Identyfikator procesu. Wystarczająco przydatny parametr, zwłaszcza w przypadku „złożonych” procesów, takich jak svchost.exe.
4 operacja Operacja. Nazwa zatwierdzonej operacji niskiego poziomu wykonywanej przez proces w miejscu docelowym. Zazwyczaj ta nazwa odpowiada nazwie funkcji, która jest wywoływana w celu wykonania operacji. Dodatkowo wyświetlana jest ikona klasy zdarzenia (rejestr, plik, sieć, proces).
5 Ścieżka Ścieżka do celu, na którym proces wykonuje operację. Nie myl ze ścieżką do procesu (modułu). Wyświetlane tylko wtedy, gdy ścieżka ma zastosowanie do obiektu. Możliwa wartość:
  • Ścieżka systemu plików zaczynająca się od litery dysku;
  • Ścieżka do klucza oddziału/rejestru;
  • Ścieżka sieciowa (adresy źródłowe i docelowe oraz porty);
  • Ścieżka sieciowa (w formacie UNC);
6 wynik Wynik operacji. Wynik operacji zwróconej przez funkcję wskazujący stopień powodzenia tej lub innej akcji. Zostało to szczegółowo opisane w osobnej tabeli poniżej.
7 Szczegół Szczegółowe informacje o szczegółach wydarzenia. Na przykład: żądany poziom dostępu, rozmiar danych, typ danych, rozmiar sieciowego pakietu we/wy, kody atrybutów plików.

Pole wyniku operacji (Result) jest jednym z kluczowych i wymaga dodatkowego wyjaśnienia:

Wynik Wynik Opis
POWODZENIE POWODZENIE Operacja zakończona pomyślnie.
BRAK DOSTĘPU BRAK DOSTĘPU Operacja nie powiodła się. Deskryptor bezpieczeństwa obiektu nie przyznaje procesu niezbędne prawa dojazd do obiektu.
NARUSZENIE UDOSTĘPNIANIA NARUSZENIE UDOSTĘPNIANIA PLIKU Operacja nie powiodła się. Obiekt jest już przez kogoś otwarty i nie obsługuje trybu udostępniania.
KOLIZJA NAZW KONFLIKT NAZW Proces próbował stworzyć już istniejący obiekt.
NIE ZNALEZIONO NAZWY NIE ZNALEZIONO NAZWY Podjęto próbę otwarcia nieistniejącego obiektu: znaleziono ścieżkę, ale nie znaleziono nazwy obiektu. Mimo „głośnego” sformułowania w większości przypadków nie jest to interesujące przy wyszukiwaniu problemów. Faktem jest, że ten wynik jest często zwracany w wyniku zwykłych operacji. Typowym przykładem może być sprawdzenie istnienia pliku lub klucza rejestru w określonej ścieżce. Po zwróceniu takiego wyniku kod, który wykonał sprawdzenie, po prostu podąży za inną logiczną gałęzią. Więc: Ten wynik może służyć do wyszukiwania problemów z rezerwacjami.
DROGA NIE ZNALEZIONA DROGA NIE ZNALEZIONA Podjęto próbę otwarcia nieistniejącego obiektu: nie znaleziono ścieżki. Taki sam jak poprzedni. Ten wynik można wykorzystać do znalezienia problemów z rezerwacjami.
NIE MA TAKIEGO PLIKU PLIK NIE ISTNIEJE Podjęto próbę otwarcia nieistniejącego obiektu lub grupy obiektów. Zwykle zwracany podczas żądania grupy obiektów według maski, na przykład *.exe wskazuje wszystkie pliki z rozszerzeniem .exe w żądanym katalogu. Jeśli nie zostanie znaleziony żaden plik pasujący do określonej maski, zwracany jest podobny wynik.
NAZWA NIEPRAWIDŁOWA NIEPRAWIDŁOWA NAZWA Proces zażądał obiektu o niewłaściwej nazwie. Prawdopodobnie występuje, gdy nazwa żądanego obiektu jest zniekształcona, zawiera nieprawidłowe znaki, ogólnie jest nieprawidłowa.
BRAK WIĘCEJ WPISÓW BRAK WPISU Proces zakończył wyliczanie zawartości klucza rejestru. Zwykle odnosi się do faktycznego końca ten proces, wskazuje, że nie ma więcej wpisów.
NIE WIĘCEJ PLIKÓW BRAKUJE PLIKÓW Występuje, gdy zostanie wysłane żądanie wyliczenia obiektów w katalogu systemu plików. Zwykle oznacza faktyczny koniec tego procesu, nie oznacza, że ​​nie ma więcej plików.
KONIEC PLIKU KONIEC PLIKU Osiągnięto koniec pliku. Proces osiągnął koniec pliku w jednej ze swoich operacji (na przykład: odczyt z pliku).
ZA MAŁY BUFOR ZA MAŁY BUFOR Za mało miejsca w buforze. Przydzielony bufor jest zbyt mały, aby zakończyć tę operację, należy przydzielić większy bufor. Wyjątkowo informacyjny stan, informuje funkcję procesu, że bufor określony w parametrach wejściowych funkcji jest mały i należy go zwiększyć. W większości przypadków nie jest uważana za kluczową informację w analizie awarii.
PRZEPEŁNIENIE BUFORA PRZEPEŁNIENIE BUFORA Bufor jest pełny. Bufor przydzielony przez aplikację jest zbyt mały, aby pomieścić żądane dane. Wywoływana funkcja mówi funkcji wywołującej, aby przydzieliła większy bufor. Wyjątkowo informacyjny stan, informuje funkcję procesu o konieczności zwiększenia bufora. W większości przypadków nie jest ona uważana za kluczową informację podczas analizy awarii, ale nadal straszy użytkowników bezpodstawnymi podejrzeniami o włamanie i inną złośliwą aktywność :).
NAPRAWA UTYLIZACJA Proces zażądał obiektu, który odwołuje się do innego obiektu. Zwykle zwracany po znalezieniu linku.
NIE PUNKT NAPRAWY BEZ PRZETWARZANIA Żądany obiekt nie odwołuje się do innego obiektu. Zwykle występuje jako odpowiedź na przekazanie kodu sterującego FSCTL_GET_REPARSE_POINT do sterownika systemu plików.
NIEDOZWOLONE NA FASTIO SZYBKIE WEJŚCIE-WYJŚCIE JEST ZABRONIONE Mechanizm FAST I/O nie jest dostępny dla żądanego obiektu, to znaczy, że żądanie I/O przy użyciu mechanizmu FAST I/O do sterownika nie jest obsługiwane. W większości przypadków nie jest uważana za kluczową informację w analizie awarii.
PLIK ZABLOKOWANY WYŁĄCZNIE Z CZYTNIKAMI PLIK JEST TYLKO DO ODCZYTU Plik lub projekcja pliku jest zablokowana. Plik jest tylko do odczytu. Menedżer pamięci uzyskuje dostęp do systemu plików, aby uzyskać blokadę, podczas gdy sekcja pliku jest tworzona w pamięci podczas procesu mapowania. Innymi słowy, ten wynik wskazuje na blokadę zapisu w pliku podczas tworzenia sekcji pliku, a teraz nikt nie ma dostępu do zapisu podany plik. W ten sposób zarządca pamięci może kontrolować niezmienność danych podczas blokady. Wynik należy traktować jako informacyjny.
PLIK ZABLOKOWANY Z NAPISZĄCYMI PLIK PISEMNY DOSTĘPNY Plik lub projekcja pliku jest zablokowana. Przynajmniej jeden użytkownik może w nim zapisywać dane.
TO KATALOG OBIEKT TO KATALOG Żądanym obiektem jest katalog (katalog).
PROŚBA O NIEPRAWIDŁOWE URZĄDZENIE PROŚBA O NIEPRAWIDŁOWE URZĄDZENIE To żądanie nie jest prawidłowe dla urządzenia docelowego.
NIEWŁAŚCIWY PARAMETR NIEWŁAŚCIWY PARAMETR Do usługi lub funkcji przekazano nieprawidłowy parametr.
NIE PRZYZNANO NIE DOSTARCZONE Żądana blokada pliku nie mogła zostać przyznana z powodu innych blokad.
ODWOŁANY ODWOŁANY Żądanie we/wy zostało anulowane. Na przykład często powraca do wywołania NotifyChangeDirectory podczas sprawdzania katalogu systemu plików pod kątem zmian.
ZŁA ŚCIEŻKA SIECIOWA NIE ZNALEZIONO ŚCIEŻKI SIECIOWEJ Nie znaleziono ścieżki sieciowej.
ZŁA NAZWA SIECI NIE ZNALEZIONO NAZWY SIECI Na zdalnym hoście nie znaleziono określonej nazwy sieciowej.
ZABEZPIECZENIE ZAPISU NA MEDIACH ZABEZPIECZENIE ZAPISU NA MEDIACH Na nośniku nie można pisać. Nośnik jest chroniony przed zapisem.
KLUCZ USUNIĘTY SEKCJA USUNIĘTA Podjęto próbę wykonania operacji na kluczu rejestru, który został oznaczony do usunięcia.
NIE ZAIMPLEMENTOWANO NIE ZAIMPLEMENTOWANO Żądana operacja nie powiodła się, ponieważ nie została zaimplementowana w miejscu docelowym.
BRAK ŁATWOŚCI W PLIKU BRAK ROZSZERZONYCH ATRYBUTÓW Nie znaleziono więcej rozszerzonych atrybutów. Błąd występuje, gdy podjęta zostanie próba zażądania atrybutów rozszerzonych od obiektu, który ich nie posiada.
OPLOCK NIE UZNANO BLOKADA MOŻLIWOŚCI NIE PRZYZNANA Odmowa przyznania blokady oportunistycznej. Oplock (blokada oportunistyczna) to blokada, która umożliwia klientowi (sieciowemu) zablokowanie pliku znajdującego się na serwerze i lokalnie (po stronie klienta) buforowanie danych z pliku, jednocześnie uniemożliwiając innym klientom modyfikowanie pliku. Blokowanie oportunistyczne wiąże się z mechanizmem Pliki Offline, który pozwala ograniczyć ruch w sieci i poprawić czas odpowiedzi serwera. Status OPLOCK NOT GRANTED jest odpowiedzią na transmisję kodu sterującego FSCTL_REQUEST_OPLOCK do sterownika systemu plików. Służy do diagnozowania obiektów problematycznych, które słabo współpracują z zasobami sieciowymi.

* - Próbowałem pokolorować wyniki, które mogą mieć znaczenie dla znalezienia problemów, ale wszystko jest raczej warunkowe i obecność niektórych wyników może nie wskazywać na błąd, wszystko należy rozpatrywać w kontekście tego, co się dzieje i wydarzeń towarzyszących.
Nowo zarejestrowane zdarzenia są dodawane na końcu listy zdarzeń w porządku chronologicznym, a zatem, jeśli jest wiele zdarzeń, natychmiast wykraczają poza granice aktywne okno. Tak więc, w podstawowe ustawienia interfejs, informacje w oknie pozostają statyczne i odzwierciedlają tylko zdarzenia przechwycone jako pierwsze, ostatnie zdarzenia są zapisywane na końcu listy, a jedynie zmieniający się rozmiar bocznego kursora przewijania wskazuje na zmianę jego całkowitej długości. Jednak to zachowanie programu można zmienić poprzez włączenie automatycznego przewijania (Autoscroll) listy zdarzeń poprzez włączenie odpowiedniej opcji lub naciśnięcie kombinacji klawiszy Ctrl + A . W takim przypadku lista zdarzeń będzie się stale przewijać w górę, pokazując najnowsze zdarzenia systemowe w tryb rzeczywisty czas.

pasek narzędzi

Wyjaśnijmy przeznaczenie przycisków znajdujących się na pasku narzędzi interfejsu narzędzia Process Monitor:

Od lewej do prawej:

  • Otwórz - Ładowanie wcześniej zapisanych zdarzeń (śladów);
  • Save - Zapisywanie wszystkich przechwyconych zdarzeń (śladów);
  • Przechwytywanie - Włącz/wyłącz przechwytywanie zdarzeń;
  • Autoscroll - zdarzenia Autoscroll na ekranie głównym;
  • Clear — czyszczenie głównego okna i wszystkich przechwyconych zdarzeń;
  • Filtruj - Konfiguracja filtrowania i podświetlania zdarzeń;
  • Podświetl - Ustawienie podświetlenia wydarzeń;
  • Uwzględnij proces z okna — skonfiguruj zdarzenia filtrowania dla określonego okna na pulpicie. Umożliwia najechanie na cel na wybranym oknie, Monitor procesu określi, czy okno należy do procesu i włączy filtrowanie według tego procesu;
  • Pokaż drzewo procesów — drzewo procesów;
  • Znajdź — wyszukiwanie wydarzeń według określonych kryteriów;
  • Przejdź do obiektu — umożliwia przejście do klucza lub pliku rejestru. Monitor procesu analizuje zawartość kolumny Ścieżka wybranego wiersza, uruchamia Eksplorator plików/Edytor rejestru i otwiera odpowiednią pozycję drzewa;
  • Pokaż aktywność rejestru — przełącznik stanu do wyświetlania zdarzeń aktywności rejestru wśród wszystkich zdarzeń systemowych;
  • Pokaż aktywność systemu plików — przełącznik stanu do wyświetlania zdarzeń aktywności systemu plików wśród wszystkich zdarzeń systemowych;
  • Pokaż aktywność sieciową — przełącznik stanu do wyświetlania zdarzeń aktywności sieciowej wśród wszystkich zdarzeń systemowych;
  • Pokaż aktywność procesów i wątków — przełącznik stanu do wyświetlania zdarzeń aktywności procesów/wątków wśród wszystkich zdarzeń systemowych;
  • Pokaż zdarzenia profilowania — przełącza stan wyświetlania zdarzeń profilowania między wszystkimi zdarzeniami systemowymi. Profilowanie to zdarzenia rejestrowane przez Process Monitor w celu obliczenia ilości czasu procesora i pamięci używanej przez każdy proces.

Skróty klawiszowe

Połączenie Opis
Ctrl+E aktywacja/zatrzymanie rejestracji zdarzeń.
Ctrl + X czyszczenie dziennika przechwyconych zdarzeń.
Ctrl+A włączyć/wyłączyć automatyczne przewijanie zdarzeń.
Ctrl+f wyszukaj zdarzenie wśród wszystkich przechwyconych zdarzeń.
Ctrl+C skopiuj wybrane zdarzenie jako rozdzielany ciąg tekstu.
Ctrl+J przejdź do wybranego obiektu.
Ctrl+L otwarcie okna ustawień filtra.
Ctrl+R zresetuj filtr do ustawień domyślnych.
Ctrl+H otwarcie okna podświetlenia.
Ctrl+T otwarcie drzewa procesów.

Filtrowanie zdarzeń

Jak już wspomniano, liczba zdarzeń występujących (generowanych przez różne komponenty) w systemie jest dość duża. Liczba zdarzeń, które „widzi” Process Monitor, jest mniejsza, ale nie za dużo. Powstaje uzasadnione pytanie, czy potrzebujemy wszystkich wydarzeń? Odpowiedź jest oczywista. Większość zdarzeń wyświetlanych w głównym oknie programu jest zupełnie niepotrzebna w kontekście pewnych wysoce wyspecjalizowanych zadań użytkownika. Cóż, użytkownik nie musi widzieć zdarzeń ładowania obrazu nagle uruchomionego programu aktualizacyjnego, podczas gdy jest zajęty studiowaniem kluczy rejestru, które przechowują konfigurację programu, który go interesuje. Aby ukryć niepotrzebne zdarzenia, Process Monitor ma elastyczne i potężne narzędzia filtrujące. Filtr pozwala na ukrycie niepotrzebnych zdarzeń, tym samym ograniczając ilość wyświetlanych elementów i zawężając obszar wyszukiwania problemu.

Filtrując, możesz ukryć wydarzenie, czyli wyłączyć jego wyświetlanie. Jednak wszystkie zdarzenia zostaną zarejestrowane, a filtrowane (ukryte) zdarzenia można wyświetlić w dowolnym momencie, wyłączając (resetując) filtr.

Ponieważ filtrowanie jest jednym z kluczowych elementów Procmon, jego możliwości są w tym programie bardzo dobrze rozwinięte. Zdarzenia można filtrować za pomocą dowolnego dostępne dla programu atrybuty zdarzenia. Istnieje kilka sposobów filtrowania zdarzeń w Process Monitor:

Filtruj według klasy

Jest to najbardziej ogólne, można by powiedzieć, zgrubne filtrowanie zdarzeń, które pozwala wykluczyć z danych wyjściowych całą klasę zdarzeń naraz: rejestr, system plików, sieć, aktywność procesów/wątków, zdarzenia profilowania. Ustawienia filtrowania według klasy zdarzenia są reprezentowane przez pięć przycisków po prawej stronie paska narzędzi:

W związku z tym w momencie dezaktywacji (wciśnięcia) dowolnego z wymienionych przycisków klas przez użytkownika na pasku poleceń, do ogólnego zestawu filtrów dodawany jest odpowiedni filtr z instrukcją Exclude, ukrywając przed wyjściem wszystkie zdarzenia tej klasy .

Menu filtrów

Bez względu na to, jakie typy filtrów są używane w Monitorze procesu, wszystkie są dostępne w menu Filtr i podpozycji Filtr. Jest to kompletny (ogólny) zestaw parametrów filtrowania i prezentowany jest w postaci:

To samo okno ustawień filtra można szybko wywołać innymi sposobami: naciskając kombinację klawiszy Ctrl + L lub klikając przycisk Filtruj na pasku narzędzi. Okno ustawień filtrów zapewnia użytkownikowi wystarczająco bogate możliwości maskowania zdarzeń systemowych. Okno Process Monitor Filter jest warunkowo podzielone na dwie części: górna zawiera elementy interfejsu do dodawania filtra, dolna zawiera listę filtrów już zastosowanych na standardowym wyjściu. Filtr dodaje się, przechodząc od lewej do prawej przez wszystkie atrybuty, które z kolei są reprezentowane przez listy rozwijane. Niektóre atrybuty są ze sobą powiązane, co oznacza, że ​​wybranie atrybutu z jednej listy może spowodować automatyczne ustawienie wartości na innych listach. W niektórych polach możesz edytować wartość. Po zakończeniu formowania, aby dodać filtr należy kliknąć przycisk Dodaj, dodaje on nowe parametry filtrowania do filtrów prezentowanych w dolnej części okna.
Aby edytować reguły dla wybranego filtra, wystarczy dwukrotnie kliknąć odpowiednią linię opisującą filtr w dolnej części okna. Spowoduje to przeniesienie parametrów do Górna część(wypełnione zostaną odpowiednie warunki), gdzie można je edytować i ponownie naciskając przycisk Dodaj, zakończyć edycję filtra, ponownie przenosząc go na dół okna, na listę aktywnych filtrów. Filtr można usunąć za pomocą przycisku Usuń. Po edycji filtrów można je uruchomić (aktywować) naciskając przycisk OK lub Zastosuj. Aby przywrócić domyślne ustawienia filtra do stanu początkowego, który był obecny przy pierwszym uruchomieniu programu, kliknij przycisk Resetuj.
Jak mogłeś zauważyć, domyślnie lista predefiniowanych filtrów zawiera zestaw reguł typu Wyklucz (Wyklucz). Reguły te służą do maskowania zdarzeń, które w opinii autorów są zdarzeniami aktywności tych składników systemu operacyjnego, które w większości scenariuszy nie zawierają informacji przydatnych do rozwiązywania problemów z aplikacjami. Tutaj znajdziesz wyjątki dla: Procmon (Process Monitor), Procexp (Process Explorer), Autoruns, procesy systemowe, niskopoziomowe żądania we/wy Sterowniki Windows IRP_MJ, operacje niskiego poziomu FAST_IO, zdarzenia śledzenia, zdarzenia pliku stronicowania pagefile.sys, zdarzenia metadanych menedżera NTFS.

Szybki filtr

Dla niektórych parametrów zdarzenia wyświetlanych w oknie głównym można zastosować tzw. „szybki filtr”. Jest aktywowany przez naciśnięcie prawy przycisk kliknięcie myszką na zdarzeniu w głównym oknie programu:

W otwartym menu kontekstowe Możesz zobaczyć kilka różne drogi filtrowanie. W zależności od wartości, której kolumny w wierszu został naciśnięty prawy przycisk myszy, możemy wykluczyć lub uwzględnić z całej tablicy wyjściowej zdarzenia, które mają dopasowanie w wartości kolumny. Odbywa się to poprzez wybranie odpowiedniego elementu, zaczynając od Include ... (Include) i Exclude ... (Exclude). Menu kontekstowe zawiera również pozycje Edytuj filtr..., Wyklucz zdarzenia przed, Wyklucz zdarzenia po.

Filtruj według właściciela okna

Oprócz podstawowych opcji filtrowania, narzędzie Procmon posiada możliwość filtrowania zdarzeń po deskryptorze (identyfikatorze) okna aplikacji. Jest to dość przydatna funkcja, ponieważ pozwala użytkownikowi przeglądać zdarzenia procesu, którego okno pojawia się na pulpicie. Aby włączyć tę funkcję, znajdź ikonę celownika na pasku narzędzi:

Przeciągnij go do okna, które Cię interesuje, a Procmon utworzy odpowiedni filtr dla procesu będącego właścicielem wybranego okna, odpowiednio zmieniając dane wyjściowe w oknie głównym.

Podświetlanie wydarzeń

Oprócz filtrów, Procmon ma możliwość oznaczania zdarzeń poprzez ich kolorowanie. Podczas gdy filtrowanie ukrywa niepotrzebne zdarzenia z danych wyjściowych, podświetlanie po prostu podświetla niezbędne zdarzenia na liście. Bezpośrednio wydaje się, że nie dotyczy to filtrów, ponieważ nie ukrywa zdarzeń, a jedynie zaznacza je innym kolorem na liście. Możesz wywołać okno ustawień podświetlenia Monitora procesu, naciskając kombinację klawiszy Ctrl + H lub klikając odpowiednią ikonę na pasku zadań. To wygląda tak:

Jak widać, jest identyczne jak okno ustawień filtra, z tym że domyślnie nie ma żadnych ustawień, czyli podświetlenie jest całkowicie wyłączone. Algorytm ustawiania parametrów podświetlania i próbkowania wyników okna Podświetlanie jest pod wieloma względami podobny do tego w oknie Filtr.

Szukaj według wydarzeń

Filtrowanie wyników jest świetne! Filtr pozwala nam elastycznie manipulować selekcją z ogólnego przebiegu zdarzeń, jednak w większości przypadków dość trudno jest stworzyć warunki, w których zakres filtrowanych zdarzeń byłby zawężony do pewnego akceptowalnego minimum. Wciąż jest wiele wyników, a w obszarze przefiltrowanych linii czasami trzeba znaleźć nagle odkrytą stałą. Czasami przydaje się znaleźć jakieś słowo kluczowe w całym tomie przechwyconych informacji bez zrozumienia, w której kolumnie mogą się one znajdować, więc stworzenie filtra okazuje się problematyczne. Te i wiele innych momentów pracy przemawia za skorzystaniem z tradycyjnej wyszukiwarki, znanej wszystkim od dzieciństwa. Okno wyszukiwania jest wywoływane kombinacją klawiszy Ctrl + F lub przechodząc przez menu Edycja - Znajdź:

Zostanie wyświetlone pole wyszukiwania znane już z innych produktów firmy Microsoft. Wyszukiwanie odbywa się na podstawie wartości wszystkich pól wyjściowych bez wyjątku głównego okna Process Monitor, a po znalezieniu pierwszego dopasowania narzędzie przewija ekran do znalezionej wartości i zaznacza całą linię znalezionym fragmentem klucza w niebieskim.

Szczegóły wydarzenia

Process Monitor otrzymuje dość dużą ilość dodatkowych informacji z różnych komponentów systemu operacyjnego. Wszystkie są wyświetlane w kolumnie Szczegóły. Większość z nich ma charakter czysto informacyjny, więc zazwyczaj są pomijane w analizie. Tutaj można znaleźć żądany poziom dostępu do operacji, szczegóły żądań funkcji, dodatkowe parametry niektórych funkcji, nazwy pakietów sterowników itp.

Odkrywanie wydarzenia

Wszystkie informacje, które Process Monitor zbiera podczas rejestrowania zdarzeń, prezentowane są w postaci ogromnej tabeli, której każdy wiersz odzwierciedla jedynie uogólniony opis konkretnego zdarzenia, które miało miejsce. Jak myślisz, czy te informacje prezentowane na głównym ekranie narzędzia w postaci ograniczonej informacji podzielonej na kilka kolumn są wystarczające? Czasami tak, ale często nie! Musimy uhonorować autorów Monitora procesu „a za dostarczenie logiki do bardziej szczegółowego badania zarejestrowanych zdarzeń. Kliknijmy dwukrotnie linię zdarzenia i zobaczmy, co się stanie? Po dwukrotnym kliknięciu otworzy się osobne okno, które wygląda tak:

W zakładce Event (Event) widzimy ogólne informacje o interesującym nas zdarzeniu. Ogólnie rzecz biorąc, ta konkretna zakładka nie ma dużej wartości dla badacza, ponieważ zawiera informacje, które można uzyskać w interfejsie narzędzia w inny sposób. Ale oto dwie pozostałe zakładki okna, które z pewnością mogą nas zainteresować. Środkowa zakładka nazywa się Process (Process) i wygląda tak:

Tutaj widzimy ścieżkę do modułu (Path), wiersz poleceń, z którym został uruchomiony moduł (Wiersz poleceń), użytkownik, z uprawnieniami którego proces został uruchomiony (User), identyfikator sesji logowania (Auth ID), w której wykonywany jest proces, właściciel operacji oraz integralność poziom (Integralność), przypisany do procesu, właściciel operacji, podczas uruchamiania. Szczególną uwagę zwrócono na okno informacyjne z listą załadowanych bibliotek (Moduły), co znacznie pomaga w identyfikacji nieproszonych gości w postaci różnego rodzaju złośliwego oprogramowania. Ale dla zaawansowanych badaczy rzeczywistą wartością jest ostatnia, skrajna prawa zakładka Stack (Stack), która pozwala zobaczyć stos wywołań głównego wątku procesu:

Jak widać, w tej zakładce znajduje się klasyczny łańcuch wywołań funkcji, dobrze nam znany z debuggera WinDbg, zwany stosem wywołań. Po pierwsze, pozwala śledzić sekwencję wywołań funkcji od początku wykonywania funkcji startowej wątku. Po drugie, poprzez sekwencję wywołań funkcji, możesz określić, do których modułów (bibliotek) należą te funkcje, identyfikując w ten sposób i elementy systemu, które albo wymagają aktualizacji, albo w ogóle nie powinny być używane w tym module (np. wirusy).

Przypadków użycia

Kilka uwag na temat statusów Monitora procesu:

  • Zdarzenie z Load Image w polu operacji pomaga w diagnozowaniu problemów z uruchamianiem programu. Jeśli program z jakiegoś powodu nie uruchamia się, szukamy zdarzenia z operacją Load Image na liście ogólnej i przeglądamy listy bibliotek DLL, które są ładowane (opisane przez ich zdarzenia) bezpośrednio po zdarzeniu ładowania obrazu. Jeśli przypomnimy sobie algorytm ładowania obrazu, zrozumiemy, że zwykle po operacji Load Image następują zdarzenia wyszukiwania niezbędnych bibliotek DLL. Fakt jest taki Program ładujący Windows przygotowuje przestrzeń adresową procesu, projektując do niej wszystkie biblioteki potrzebne programowi i niejawnie łącząc się z etap początkowy. Jeśli jedna z bibliotek DLL wymaganych przez główny program ma błąd podczas ładowania swojego obrazu, oczywiste jest, że program ładujący Windows również nie będzie w stanie uruchomić głównego programu. Zdarzenie ładowania obrazu jest naprawione ze statusem „odmowa dostępu” (ODMOWA DOSTĘPU);
  • Statusy, na które warto zwrócić uwagę przede wszystkim: ODRZUCONY DOSTĘP, NARUSZENIE UDOSTĘPNIANIA, NIE ZNALEZIONO NAZWY (są wyjątki od tych ostatnich). Status NAZWA NIE ZNALEZIONA w większości przypadków jest dość typowym statusem ukończenia, nie należy wyolbrzymiać jego znaczenia tak bezpośrednio i uważać go za winowajcę wszystkich problemów. Często status jest wyświetlany, gdy aplikacja sprawdza obecność pliku lub klucza rejestru (zawierającego konfigurację programu) i na podstawie wyników tego sprawdzenia wykonuje taki lub inny kod, czyli tworzy logiczną gałąź w zależności od wyniku zapytania. Program może nie znaleźć klucza rejestru zawierającego własną konfigurację iw takich przypadkach zobaczymy ten sam stan NAZWA NIE ZNALEZIONA. Krótko mówiąc, status NIE ZNALEZIONO NAZWY należy rozpatrywać w kontekście zdarzenia, które do niego doprowadziło.
  • Aby określić winowajcę nadmiernego obciążenia podsystemu dysku: uruchom Procmon, utwórz filtr z ustawieniami Ścieżka - zacznij od - C:\ (chociaż tutaj można określić dowolny interesujący dysk logiczny) i kliknij OK. Następnie, po krótkim zebraniu danych (~jedna minuta), przechodzimy do menu Narzędzia i wybieramy element Podsumowanie aktywności procesu. W oknie, które zostanie otwarte, posortuj według kolumny Zdarzenia plików i uzyskaj nazwy procesów aktywnie pracujących z systemem plików na górze listy. Następnie, aby dowiedzieć się dokładnie, które pliki są zaangażowane w intensywną wymianę danych, możesz wybrać menu Narzędzia i element Podsumowanie plików, a następnie w oknie, które zostanie otwarte, obserwować listę plików biorących udział w operacjach dyskowych. Dane wyjściowe są automatycznie sortowane według kolumny Total Events, więc na górze listy znajdują się najczęściej używane pliki we/wy dysku.

Diagnostyka etapu rozruchu

Dość często zdarzają się sytuacje, w których problemy z systemem operacyjnym zaczynają się na długo przed rysowaniem interfejsu użytkownika, już na etapie rozruchu. Do diagnozowania takich awarii w sieci służy szereg specjalistycznych narzędzi, takich jak np. . Z powodzeniem pasuje do tej serii i narzędzia Process Monitor. Procmon rejestruje zdarzenia wszystkich procesów uruchomionych podczas fazy rozruchu za pomocą sterownika fazy rozruchu o nazwie procmon23.sys (nazwa może się różnić w zależności od wersji), który został opisany na początku artykułu. Niestety sterownik uruchamia się na etapie modułu Winload.exe, co uniemożliwia naprawienie wcześniejszego etapu Bootmgr, jednak w większości przypadków można na ten drobiazg przymknąć oczy. Włączenie rejestrowania procesu rozruchu jest aktywowane za pomocą opcji Włącz rejestrowanie rozruchu w menu Opcje.

Oprócz aktywacji mechanizmu, Procmon sugeruje włączenie profilowania wątków w regularnych odstępach czasu. Jest to ważne, ponieważ w większości przypadków problemy z pobieraniem są związane z powolna praca pewne procesy. To właśnie w celu śledzenia takich „hamujących” procesów włączane jest profilowanie, co umożliwia tworzenie takich migawek aktywności wątków wewnątrz procesu (stosu wywołań i innych danych) w regularnych odstępach czasu. W rezultacie zarejestrowane informacje pomagają zrozumieć, na jakie operacje wątek spędza czas procesora.
Po włączeniu opcji Włącz rejestrowanie rozruchu możesz ponownie uruchomić system operacyjny. Po zakończeniu pobierania uruchom narzędzie Process Monitor, aby zapisać pliki dziennika procesu pobierania i zobacz następujące okno dialogowe:

W którym zapraszamy do zapisywania zdarzeń procesu pobierania w osobnym pliku logu z rozszerzeniem .pml. W zależności od ilości informacji plik dziennika może być zapisany jako pojedynczy plik lub podzielony na serię plików o mniej więcej równej wielkości.

Ilość informacji rejestrowanych przez sterownik Process Monitor na etapach rozruchu dla "średnio upakowanego" systemu operacyjnego Windows 7 SP1 x64 jest dość duża. Typowy rozmiar z włączonym profilowaniem wątków może przekraczać 1500 megabajtów.

Po zapisaniu dzienników aktywności kroku ładowania można je później przeanalizować, otwierając plik .pml w Monitorze procesów, klikając dwukrotnie plik .pml lub otwierając go bezpośrednio z menu Plik - Otwórz. Jest jednak jedno zastrzeżenie, jeśli plik lub zestaw plików dziennika procesu rozruchu jest zbyt duży, a narzędzie nie może znaleźć wystarczającej ilości miejsca w pliku wymiany lub wirtualnej przestrzeni procesu, aby utworzyć bufor, wówczas błąd " Nie można otworzyć Bootlog.pml do odczytu... ”. Osobiście rozwiązałem to, tymczasowo włączając plik wymiany, który tradycyjnie w ogóle jest dla mnie wyłączony.

Monitorowanie procesu - darmowy program, zapewniając śledzenie aktywności Procesy Windows. Umożliwia monitorowanie pracy rejestru, sterowanie strumieniami, filtrowanie, identyfikatory sesji w czasie rzeczywistym. Aplikacja podaje najbardziej wiarygodne informacje, pozwala na rejestrację wyników w języku rosyjskim w pliki tekstowe. Kolejna funkcja oprogramowanie jest monitorowanie pracy sterowników, ładowanie obrazów. Możesz dodatkowo pobrać nieszkodliwe filtry, aby uzyskać większą łatwość użytkowania.

Plusy i minusy programu

  • pełna zintegrowana kontrola nad procesami: od uruchomienia do wyłączenia komputera;
  • interakcja z bibliotekami DLL;
  • narzędzie zapewnia zbieranie stosów;
  • zaawansowana architektura dziennika rejestracji, która umożliwia rejestrację do kilku milionów zdarzeń;
  • proste wyszukiwanie;
  • pomocne wskazówki.

Wady:

  • informacje o śledzeniu;
  • złożoność pracy z sformatowanymi danymi, które nie zawsze mieszczą się w kolumnie.

Zatem powyższe plusy aplikacji sprawiają, że Process Monitor użyteczne narzędzie do śledzenia problemów i rozwiązywania problemów: od złośliwy kod na błędy sterownika!

Podobał Ci się artykuł? Podziel się z przyjaciółmi!
Czy ten artykuł był pomocny?
tak
Nie
Dziekuję za odpowiedź!
Coś poszło nie tak i Twój głos nie został policzony.
Dziękuję Ci. Twoja wiadomość została wysłana
Znalazłeś błąd w tekście?
Wybierz, kliknij Ctrl+Enter a my to naprawimy!