Spindump
Andra namn: låsningsrapport, hang report
Kort svar
En spindump är en diagnostisk rapport som registrerar vad processerna på en Mac gjorde, och används för att undersöka appar som hänger sig eller slutar svara. macOS har verktyget spindump, och Aktivitetskontroll kan skapa en från menyn Mer.
En spindump är som ett stickprov av hela systemet i stället för en enskild process. Den visar vilka trådar som kördes eller väntade, vilket hjälper en utvecklare att se varför en app slutade svara.
I Aktivitetskontroll beskriver Apple spindump som en rapport för appar som inte svarade och som avslutades med tvångsavslut. Det är en av flera diagnostiska rapporter i menyn Mer, tillsammans med Hämta stickprov från process och Systemdiagnos.
På den här sidan
Så skapar du en spindump i Aktivitetskontroll
Klicka på knappen Mer (de tre punkterna) högst upp i fönstret i Aktivitetskontroll och välj Hämta spindump. Du kan bli ombedd att ange ett administratörslösenord. Rapporten öppnas när den är klar, och du kan spara den.
Skapa den medan appen har hängt sig, inte efteråt, så att rapporten fångar problemet.
Vad du gör med en spindump
Bifoga den i en felrapport till appens utvecklare eller till Apple via Feedbackassistent. Rapporten kan innehålla namnen på appar och processer som du kör, så gå igenom den innan du delar den offentligt.
Så tar du en spindump från Terminal
Kommandot spindump tar stickprov från alla processer på datorn, så det måste köras som root. Det registrerar bara vad processerna gör och stoppar dem inte.
- Öppna Terminal medan appen fortfarande har hängt sig.
- Kör
sudo spindump Safari -revealoch byt ut Safari mot en del av appens namn. Ange ditt administratörslösenord när du blir ombedd. - Vänta medan stickproven tas. Standardlängden är 10 sekunder.
- När det är klart sparas rapporten i /tmp, och alternativet
-revealvisar den i Finder.
Så läser du en spindump
Appen du anger listas först, och alla andra processer följer efter. Varje process visar sina trådar och de anropsstackar som sågs under stickprovet.
- Som standard sorteras stackarna efter antal. En rad som börjar med 84 sågs i 84 stickprov.
- En stjärna (*) i början av en ram markerar kärnkod.
- Den djupaste ramen i varje stack visar om tråden kördes eller var vilande.
- Om appens huvudtråd är vilande och väntar på en annan process tittar du på den andra processen i samma rapport. Det är den stora fördelen jämfört med ett stickprov av en enda process.
Var spindumpar sparas
När du tvångsavslutar en app som inte svarade kan macOS skapa en rapport automatiskt och erbjuda dig att skicka den till Apple. Rapporterna lagras i /Library/Logs/DiagnosticReports.
Du kan bläddra bland dem i appen Konsol, i Program > Verktygsprogram. Under Rapporter i sidofältet tittar du på Spinnrapporter och Diagnostikrapporter. Markera en rapport för att läsa den.
Rapporter som du själv tar från Aktivitetskontroll öppnas i ett fönster när de är klara. Spara rapporten från fönstret innan du stänger det, så att du har en kopia att skicka.
Stickprov, spindump eller Systemdiagnos
Menyn Mer i Aktivitetskontroll erbjuder flera rapporter. Välj den som passar problemet. En spindump är mycket större än ett stickprov eftersom den omfattar alla processer, och Systemdiagnos tar ännu längre tid och visar ett integritetsmeddelande innan den körs. Om en utvecklare ber om ett stickprov skickar du ett stickprov. Om Apple Support ber om en viss rapport skickar du den.
- Hämta stickprov från process: en process, ungefär 3 sekunder. Använd det när du vet vilken app som har fastnat eller är upptagen.
- Spindump: alla processer på datorn. Använd den när en app hänger sig och orsaken kan vara en annan process.
- Systemdiagnos: en större rapport byggd på loggar från hela datorn, som oftast efterfrågas av Apple Support.
Frågor som folk ställer
Vad är en spindump på en Mac?
Det är en diagnostisk rapport över vad processerna gjorde, som används för att ta reda på varför en app hängde sig. Du kan skapa en från menyn Mer i Aktivitetskontroll.
Vad är skillnaden mellan en spindump och ett stickprov?
Hämta stickprov från process registrerar en enda markerad process. En spindump tittar på processer i hela systemet, vilket hjälper när orsaken till en låsning ligger utanför själva appen.
Är det normalt att spindump använder mycket processorkraft?
Den kan använda processorn en kort stund medan den skriver en rapport, ofta efter att en app har hängt sig. Den ska sluta av sig själv när rapporten är klar.
Varför behöver spindump ett administratörslösenord?
Den läser anropsstackarna för alla processer på datorn, även systemprocesser. macOS tillåter det bara för root.
Kan jag ta en spindump när inget har frusit?
Ja, men den visar då bara normal aktivitet. Ta den medan appen har hängt sig så att rapporten fångar problemet.
Varför dök det upp en spindump efter att jag tvångsavslutade en app?
macOS använder spindump för att registrera vad en app som inte svarade gjorde när den tvångsavslutades. Det är den rapporten som dialogrutan för att skicka till Apple erbjuder sig att skicka in.
Relaterat
Letar du efter något bättre än Aktivitetskontroll? Läs om de bästa alternativen till Aktivitetskontroll för Mac, eller bläddra bland alla begrepp i ordlistan.