MacOS'tan sistem tanı dosyalarını nasıl alırsınız?


20

Bir kilitlenmiş (veya asılı) uygulamada hata ayıklamaya çalışıyorum. Teşhis dosyalarını kazadan nasıl alabilirim?

Yanıtlar:


19

Bireysel kilitlenme raporları ~ / Library / Logs / CrashReporter içinde saklanır, ancak sysdiagnose adlı sistem çapında bir günlük toplama aracı vardır .

Sorunu yaşamaya başladıktan sonra 4 kontrol tuşunu basılı tutun ve ardından "." tuşuna basın. shift+ control+ option+ command+.

Yaklaşık 15 saniye sonra, bir sysdiagnose dosyası vurgulanmış olarak bir Finder penceresi açılır.

Sorunu yaşamaya başladıktan sonra, "üst karakter" + "kontrol" + "seçenek" + "komut" tuşlarını basılı tutun ve "" dönemine basın.  tuşuna basın.

Bu kısayol sysdiagnosekomutu çalıştırır , bu nedenle terminali biliyorsanız ve işlem kimliğini iletmek istiyorsanız, söz konusu program hakkında gelişmiş hata ayıklama bilgileri alabilirsiniz. Anahtar kısayolu aracı argüman olmadan çağırır ve yalnızca temel raporu yakalar.


bunu komut satırı ile almanın bir yolu var mı?
Sidasa

1
~/Library/Logs/CrashReporter.crashdosya içermiyor . Bunun yerine: /Library/Logs/DiagnosticReportsve~/Library/Logs/DiagnosticReports
Graham Perrin

Sysdiagnose için anahtar akor, yalnızca yığın atma arka plan programı çalışıyorsa çalışır. In my cevap , launchctlkomut cini başlayacaktır.
Graham Perrin

olduğu sysdiagnoseda komut OS 10.6 mevcuttur? Bir el sayfası bulamıyorum ve which sysdiagnoseOS 10.6.8'de hiçbir şey döndürmüyor ya da bunu açık bir şekilde yüklemem gerekiyor mu?
MostlyHarmless

1
@Martin cevabım sorunuza cevap vermek için düzenlenmiştir.
Graham Perrin

16

Apple sisgnozu

Bu kabuk betiği (10.8 ve daha düşük sürümlerde) ve 10.9 üzerinde aynı ada sahip yürütülebilir program:

  • sistem çapında tanılama bilgileri toplar
  • OS X Lion ve üstü için entegre
  • ayrı bir indirme olarak mevcut değildir
  • açık kaynak değildir (Apple'dan bunu yapmasını istedim).

Sisdiagnose için sadece klavye yaklaşımına hazırlanma

Terminal'de aşağıdaki komutu çalıştırın.

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.stackshot.plist
  • şifre istenirse, işletim sistemi için yönetici şifrenizi girin
  • bu bir defalık, komutu tekrarlamaya gerek yok.

Aşağıdaki anahtar akorun yazılı bir notunu alın, daha sonra ihtiyacınız olacak:

Control- Option- Command- Shift-.

Sistem tarafından teşhis

Bir sorun oluştuğunda:

  1. anahtar akorunu kullan
  2. en az on saniye boyunca hiçbir şeye dokunmayın
  3. sysdiagnoserutinin tüm bölümlerinin tamamlanması için belki beş veya on dakika bekleyin - olabildiğince bekleyin (ekranda ilerleme göstergesi olmayacaktır).
  4. Bulucu, sonuç için bir pencere açmalıdır.

son derece

Nadir durumlarda, bir sorun sisdiagnozun tamamlanmasını engelleyebilir (Apple'a iyileştirme önerileri yaptım). Bu olursa - yeterince beklediğinizden eminseniz - Mac'i yeniden başlatmanız mantıklı olabilir. Sonra:

  1. Finder'da şu adrese gidin: /private/var/tmp
  2. adı sysdiagnose_ ile başlayan bir dosya veya klasör aramak
  3. bu dosya veya klasör varsa, onu uygun bir yere taşıyın - masaüstünüz, belki.

İpuçları

Anahtar akoru olmadan, sysdiagnose komutunu komut satırından çalıştırabilirsiniz (aşağıya bakın, Apple kılavuz sayfası). Ancak akoru kullanmak genellikle daha yararlı veya gereklidir - bu yüzden hazırlıklı olun.

Dikkatsizliği teşvik etmeme rağmen, Control- Option- Command- Shift- .… ile biraz dikkatsiz olabilirsiniz fn, dizüstü bilgisayarınızın anahtarından kaçınmak için mücadele ediyorsanız endişelenmeyin; kazara dahil edilmesi çalışmasını engellememelidir sysdiagnose.


Sistem tarafından teşhisin insan analizi

İpucu: Birisi, sonuçlarının analizi hakkında ayrı bir soru sormak isteyebilir sysdiagnose- daha genel bir cevap yararlı olabilir.

Sysdiagnose_ ... dan ise /tmpbölgede bir dosyadır

Bir sysdiagnose_….tar.gzdosyanın varlığı , sysdiagnoserutinin tüm bölümlerinin tamamlandığını ve sonuçların arşivlendiğini gösterir. İsterseniz arşivi açın - içeriği bir klasör olarak görünecektir.

Alandan sysdiagnose_… /tmpbir klasörse

Bir sysdiagnose_…klasörün ( .tar.gzdosya değil ) bulunması şunlardan birini gösterir:

  • rutin tamamlanmadan önce kesildi; veya
  • rutinin bir kısmı tamamlanamadı.

Arşiv / klasör içinde

Bazı dosyalar insan tarafından okunabilir ve bir sorunun giderilmesine yardımcı olabilir.

Diğer dosyalar daha geliştiricilere yöneliktir.

İlişkili:

Bir İçin tamamlanmamış çalıştırma sysdiagnosebunun yararlı olabilir dosyalar üzerinde bazı dikkatini anormal boşaltın ...


Teknik ve diğer notlar

stackshot (1) OS X Kılavuz Sayfası

sysdiagnose (1) OS X Kılavuz Sayfası

Yukarıdakilerden bazıları, başka bir yerde görünen kabul edilmiş bir cevabın daha genel bir sürümüdür .


Tanılama ve kullanım bilgileri, diğer ilgili dosyalar

Konsoldaki günlük listesi tarafından yönlendirilirsiniz:

Konsol kenar çubuğunun ekran görüntüsü

Aşağıdaki yollarda dosya bulmayı bekleyin:

  • ~ / Library / Kayıtlar / DiagnosticReports
  • / Library / Kayıtlar / DiagnosticReports
  • ~ / Library / Kayıtlar
  • / Library / Kayıtlar
  • / Özel / var / log

2
→ Graham: bu + gün: öğrenilecek bir şey! Ben açık kaynak olsaydı bu tür bir araç tüm sysadmins girişi fayda olacağını düşünüyorum.
dan

0

Console

Mevcut tanılama veya kilitlenme dosyalarını bulmak için Konsol uygulamasını açın ve dosyaları Kullanıcı Raporları (adresinde bulunur ~/Library/Logs/DiagnosticReports) veya Sistem Raporları (adresinde bulunur /Library/Logs/DiagnosticReports) bölümlerinde bulun . Bkz. Kilit günlüklerimi nerede bulabilirim?

sysdiagnose

Gereğince resmi sysdiagnosetalimatlar MacOS için, bir tetikleyebilir sysdiagnoseya göre:

Not: Yukarıdaki bağlantıya erişmek için önce Developer Apple sitesinde oturum açmanız gerekir .

  • Aşağıdaki tuşlara aynı anda kısa süreli basın:

    Command- Option- Shift- Control-Period (.)

    ve bekle. sysdiagnoseİşlemin tamamlanması 10 dakika alabilir. Bitirildikten sonra , oluşturulan dosyayı içinde (ör. ) Gösteren otomatik olarak Finder görünmelidir ./private/var/tmp/sysdiagnose_2017.mm.dd_hh-mm-ss-0000_12345.tar.gz

  • sysdiagnoseBu komutu girerek Terminal'den a'yı tetikleyin :

    sudo sysdiagnose
    

çekirdek dökümleri

Çökme çekirdeği dökümleri oluşturmak için, bkz . MacOS'ta çekirdek dökümleri nasıl oluşturulur?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.