Próbuję debugować zawieszoną aplikację. Jak uzyskać pliki diagnostyczne po awarii?
źródło
Próbuję debugować zawieszoną aplikację. Jak uzyskać pliki diagnostyczne po awarii?
Poszczególne raporty o awariach są przechowywane w ~ / Library / Logs / CrashReporter, ale istnieje systemowe narzędzie do zbierania dzienników o nazwie sysdiagnose .
Po wystąpieniu problemu przytrzymaj 4 klawisze sterowania, a następnie naciśnij kropkę „”. klucz. shift+ control+ option+ command+.
Po około 15 sekundach otworzy się okno Findera z podświetlonym plikiem sysdiagnose.
Ten skrót po prostu wykonuje sysdiagnose
polecenie, więc jeśli znasz terminal i chcesz przekazać identyfikator procesu, możesz uzyskać ulepszone informacje debugowania dotyczące tego konkretnego programu. Skrót klawiszowy wywołuje narzędzie bez argumentów i przechwytuje tylko podstawowy raport.
~/Library/Logs/CrashReporter
nie zawiera.crash
plików. Zamiast tego:/Library/Logs/DiagnosticReports
i~/Library/Logs/DiagnosticReports
launchctl
komenda uruchomi demona.sysdiagnose
polecenie jest dostępne również w systemie OS 10.6? Nie mogę znaleźć stronywhich sysdiagnose
podręcznika i nic nie zwraca w systemie operacyjnym 10.6.8, czy też muszę ją jawnie zainstalować?Sysdiagnose firmy Apple
Ten skrypt powłoki (w wersji 10.8 i niższej) i program wykonywalny o tej samej nazwie w wersji 10.9:
Przygotowanie do podejścia sysdiagnose opartego tylko na klawiaturze
W terminalu uruchom następujące polecenie.
Zanotuj na piśmie następujący akord klawiszowy, będziesz go potrzebować później:
Control- Option- Command- Shift-.
Diagnoza przez system
Gdy wystąpi problem:
sysdiagnose
rutyny - po prostu poczekaj tak długo, jak to możliwe (na ekranie nie będzie żadnych informacji o postępie)Wyjątkowo
W rzadkich przypadkach problem może uniemożliwić wykonanie sysdiagnose (zaproponowałem Apple ulepszenia). Jeśli tak się stanie - jeśli masz pewność, że czekałeś wystarczająco długo - rozsądne może być ponowne uruchomienie komputera Mac. Następnie:
/private/var/tmp
Poradnik
Bez klawisza akordowego możesz uruchomić sysdiagnose z wiersza poleceń (patrz poniżej, strona instrukcji Apple). Ale często użycie akordu jest bardziej przydatne lub konieczne - więc bądź przygotowany.
Chociaż nie zachęcam do niedbalstwa, możesz być trochę nieostrożny z Control- Option- Command- Shift- .... jeśli masz problem z uniknięciem fnklucza na swoim laptopie, nie martw się; włączenie go przez przypadek nie powinno uniemożliwiać uruchomienia
sysdiagnose
.Analiza diagnozy przez system
Wskazówka: ktoś może zadać osobne pytanie dotyczące analizy wyników
sysdiagnose
- bardziej ogólna odpowiedź może być przydatna.Jeśli sysdiagnose_… z tego
/tmp
obszaru jest plikiemObecność
sysdiagnose_….tar.gz
pliku wskazuje, że wszystkie częścisysdiagnose
procedury zostały zakończone, a wyniki zostały zarchiwizowane. Jeśli chcesz, otwórz archiwum - jego zawartość pojawi się jako folder.Jeśli sysdiagnose_… z tego
/tmp
obszaru jest folderemObecność
sysdiagnose_…
folderu (nie.tar.gz
pliku) wskazuje, że:W archiwum / folderze
Niektóre pliki są czytelne dla człowieka i mogą pomóc w rozwiązaniu problemu.
Inne pliki są bardziej zorientowane na programistę.
Związane z:
W przypadku niepełnego uruchomienia
sysdiagnose
może być przydatne zwrócenie uwagi na pliki, które są nienormalnie puste…Uwagi techniczne i inne
stackshot (1) OS X Podręcznik Strona
sysdiagnose (1) OS X Podręcznik Strona
Niektóre z powyższych informacji to bardziej ogólne wydanie zaakceptowanej odpowiedzi, które pojawia się w innym miejscu.
Informacje diagnostyczne i dotyczące użytkowania, inne interesujące pliki
Kieruj się listą dzienników w konsoli:
Oczekuj, że znajdziesz pliki w następujących ścieżkach:
źródło
Console
Aby znaleźć istniejące pliki diagnostyczne lub awarie, otwórz aplikację konsoli i znajdź pliki w sekcjach Raporty użytkownika (zlokalizowane w
~/Library/Logs/DiagnosticReports
) lub Raporty systemowe (zlokalizowane w/Library/Logs/DiagnosticReports
). Zobacz: Gdzie mogę znaleźć moje dzienniki awarii?sysdiagnose
Zgodnie z oficjalnymi
sysdiagnose
instrukcjami dla systemu macOS możesz uruchomićsysdiagnose
dowolny z następujących sposobów:Uwaga: Aby uzyskać dostęp do powyższego linku, musisz najpierw zalogować się do witryny programisty Apple .
Krótko naciśnij jednocześnie następujące klawisze:
Command- Option- Shift- Control-Period (.)
i czekaj.
sysdiagnose
Proces może trwać 10 minut. Po zakończeniu Finder powinien automatycznie pojawić się, pokazując wygenerowany plik w/private/var/tmp/
(npsysdiagnose_2017.mm.dd_hh-mm-ss-0000_12345.tar.gz
.).sysdiagnose
Uruchom a z Terminala, wprowadzając to polecenie:zrzuty rdzenia
Aby wygenerować zrzuty rdzenia awarii, zobacz: Jak wygenerować zrzuty rdzenia w systemie macOS?
źródło