Mac OS X'te Uygulama Sorunlarını Giderme


2

Son zamanlarda OSX'teki farklı uygulamalarda birçok dönen plaj topuyla karşılaşıyorum. Sağ tıkladığınızda büyük sıklıkta olduğu görülüyor, ancak bu tek bir uygulama ile sınırlı değil. Safari, Adium, NetNewsWire, vb .'de olur. Bağırsaklığım, bazı üçüncü taraf eklentilerinden veya etkin hale getirdiğim başka bir şeyden dolayı buna neden olan bazı ortak tesis / eklenti / rutinlerin olduğu yönünde.

Bu tür sorunları gidermeye çalışmanın en iyi yolu nedir? Bir şekilde, asıl uygulamayı ne yapmaya çalıştığını görmek için bırakabilir miyim? Buna neyin sebep olabileceğini bulmak için yapabileceğim bazı şeyler var mı?

Yanıtlar:


5

Askıları izlemek için bir yardımcı program, Apple’ın Geliştirici Araçları’nda yüklü olan Spin Control’dür. /Developer/Applications/Performance Tools Klasör. Bir kez açıp bir uygulama kilitlendiğinde, şifrenizi soracak ve veri toplamaya başlayacaktır. Uygulama çöktüğünde veya tekrar yanıt verdiğinde, topladığı rapora göz atabilirsiniz.

Detected Hangs

Sample Report

Raporun içinden çıkıp programın bütün yaptıkları listelenen aramalara bakabilirsiniz (girintili öğeler alt aramalardır). Listedeki her bir öğenin yanındaki sayı, bu aramada ne kadar zaman harcandığını gösteriyor, bu nedenle bunların adlarına bakarsanız (en azından anlaşılır olanlar) Çok uzun sürüyor. Emin olmadığınız bir şey bulursanız, özel olarak da sorabilirsiniz.

Bir uygulama çökerse, "Rapor Et" düğmesini tıklarsanız, ortaya çıkan hatanın yanı sıra, programın çökerken yaptığı şeylerin benzer bir listesini alırsınız. Hata açıklamasına bakarsanız ve arama listesinin sonuna bakarsanız, muhtemelen neyin yanlış gittiğini anlayabilirsiniz.


Ayrıca, geliştirici araçlarıyla birlikte yüklenen Shark ile benzer bir şeyi deneyebilirsiniz.
jtbandes

1
IIRC, bu araçlardan hiçbiri varsayılan bir OS X kurulumunun parçası değildir - geliştirici araçlarını developer.apple.com adresinden veya OS X kurulum diskinden indirmeniz gerekir (sahip olmaları gerekir ve hiçbir şekilde sınırlı değildir) sadece "geliştiricilere" kullanımda)
David Snyder

Doğru, varsayılan olarak yüklenmemişler. İndirme işlemi genellikle birkaç gigabayt civarındadır, ancak dediğiniz gibi, buna oldukça değer.
jtbandes

Daha önce de belirtildiği gibi ama vurgulamak için OSX kurulum disklerinde de var.
BinaryMisfit

1
Kurulum disklerindeki sürümün güncel olamayacağına inanıyorum. Araçları yakın zamanda Apple'dan indirdim ve onlar sadece bir konser altındaydı (birkaç konser değil).
Telemachus

3

Yanıtlarınız için teşekkürler, çok yardımcı oldular. jtbandes bana sorunu çözmedeki ilk adımı verdi, ancak başkalarına yardımcı olması durumunda diğer bölümlerin ayrıntılarına girmek istedim.

Adium ile problemin makul şekilde tekrarlanabilir bir şekilde gerçekleşmesini sağladım. Temel olarak, uygulamayı başlatın, bir konuşma açın, bir metin yazın ve ardından metnin bir kısmına sağ tıklayın. Fırlatmadan sonra ilk kez döndürün, bir dakikadan fazla sürün.

Bu yüzden Spin Control'ü başlattım, sadece Adium'u hedefleme tercihlerine girdim, soruna yol açan prosedürleri takip ettim. Sorunun kısa bir raporunu alabildim ve sorunumun ne beklediğini gördüm:

    5531 Thread_7203
  5531 0x30b9
    5531 0x3192
      5531 NSApplicationMain
        5531 -[NSApplication run]
          5531 -[NSApplication sendEvent:]
            5531 -[NSWindow sendEvent:]
              5531 -[NSTextView rightMouseDown:]
                5531 -[NSView rightMouseDown:]
                  5531 -[NSMenu _popUpMenuWithEvent:forView:]
                    5531 -[NSMenu _popUpContextMenu:withEvent:forView:]
                      5531 -[NSMenu _popUpContextMenu:withEvent:forView:withFont:]
                        5531 -[NSCarbonMenuImpl _popUpContextMenu:withEvent:forView:withFont:]
                          5531 _NSPopUpCarbonMenu1
                            5531 _NSPopUpCarbonMenu2
                              5531 _NSPopUpCarbonMenu3
                                5531 _ContextualMenuInsertItems
                                  5531 ContextualMenuInsertItems(MenuData*, unsigned short, AEDesc const*, ContextualMenuHelp const*, unsigned long*, OpaqueContextualMenuItemsRef**)
                                    5531 TContextualMenuPluginList::GetPlugins()
                                      5531 TContextualMenuPlugin::LoadContextualMenuPlugins(FSRef const&, __CFArray*)
                                        5531 TContextualMenuPlugin::LoadCMPluginsFromCFPlugin(FSRef const&, __CFArray*)
                                          5531 0x1d1ee0d6

Görünüşe göre, bir eklenti ile ilgili bir sorunla karşı karşıya kaldım, ancak bağlamı, ayrıntıları için yoktu.

Bu yüzden Adium'u yeniden başlattım, ancak bu sefer Faaliyet İzleyicisi'ni açtım ve süreci seçtim ve uygulamanın özellikle çalışmakta olduğunu izlemek için Inspect- & gt; Açık Dosyaları ve Bağlantı Noktalarını kullandım. Sorunu oluşturma adımlarını tekrarladığımda, listeden aşağıdakileri alabildim (listenin sonunda açılan yeni dosyaların / bağlantı noktalarının göründüğüne dikkat edin, bu nedenle sorunun sonunu bakarak bulmak en kolayıdır) liste):

/System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/Resources/English.lproj/Localized.rsrc
/Users/tim/Library/Contextual Menu Items
localhost:61506->localhost:26165

Bundan, yerel İçerik Menüsü Öğeleri dizinindeki öğeleri gözden geçirip soruna neden olanı belirledim.

Yardım için teşekkürler.


Hey, sorun giderme! Bunu çözmene sevindim.
jtbandes

1

Peki, bir üçüncü taraf uzantısı olabilir ya da düşük koç veya yavaş bir sabit disk olabilir. Bu ne tür bir bilgisayar? "Sistem Tercihleri" ni açın. "Diğer" altında herhangi bir ikonunuz var mı? Aç / Kütüphane / InputManagers. Orada hiç dosya var mı? Bir uygulama kilitlendiğinde, zorla uygulamadan çık ve "Rapor Et" i tıkla. Günlüğü buraya postala.

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.