2011-03-06 22 views
8

İşletim sistemleri genellikle nasıl hata ayıklanır? Basit konsol programları gibi bir hata ayıklayıcı ile adım atılamazlar ve yapım süreleri, sürekli olarak küçük değişiklikler yapmak ve her şeyi yeniden derlemek için çok büyüktür.İşletim sistemleri nasıl ayıklar?

cevap

6

Çok gigabaytlı programlar olarak hata ayıklanmıyorlar!

Eğer bireysel kullanıcı modu bileşenlerini kastediyorsanız, bunlar genellikle normal programlar ve kitaplıklar gibi hata ayıklanabilirler (çünkü normal programlar/kitaplıklardır!). çekirdek modu bileşenleri için

olsa da, her işletim sistemi kendi mekanizmasına sahiptir; here, Windows'ta çekirdek hata ayıklama yapma biçimiyle ilgili bazı bilgilerdir. Bir seri bağlantı noktası veya bir şey aracılığıyla hata ayıklama yaptığınız makineye bağlı başka bir makinenin yardımıyla yapılabilir. Sürecin kendisi ile aşina değilim, ama nasıl çalıştıkları özü bu. (Sen ayıklayıcı mümkün olduğunca erken bağlanacak için sistem hazır olması için bazı önyükleyici seçeneklerini ayarlamak gerekir.) Bu bahsettiğin işletim sisteminin hangi kısmının bağlıdır

5

. MSFT'de çalışırken, IE ekibinde çalıştım. Visual Studio'daki IE ve kabuğu (Windows Gezgini) hata ayıkladı ve tüm gün boyunca satır boyunca sıraya girdik. Yine de, bazen, NTSD gibi bir command line tool kullanarak hata ayıklaması daha kolaydır.

Ancak, böyle ben o zaman Çekirdek ayıklayıcısını kullanmalıdır, soruyorsun gerçekten ne şüpheli işletim sistemi çekirdeği veya cihaz sürücüleri gibi Çekirdek topraklarda şey hata ayıklamak istiyorum. Windows için kd denilen bir komut satırı aracıdır ve genellikle bir makinede hata ayıklayıcısını çalıştırır ve hedefi uzaktan ayıklarsınız.

1

bir ICE gibi donanım aygıtlarının kullanımına, konsolun ışıkları yanıp sönen gelen tarih boyunca tekniklerin bir bütün seti, oldukça standart debuggers kullanan daha modern teknikler vardır. OS geliştiricileri arasında daha yaygın olan bir teknik, daha sonra uygulama geliştiricileri bir çekirdek dökümü analizidir. Solaris çekirdek geliştiricilerinin hata ayıklamalarını nasıl yaptıkları hakkında fikir edinmek için solaris üzerinde mdb gibi bir şeye bakın. Ayrıca izleme teknolojileri kullanılmaktadır. Oldukça basit kayıt paketlerinden dtrace gibi daha modern tekniklere kadar her yer.

Ayrıca kullanılan teknikler yazılımın tabakasının bağlı olduğunu unutmayın. İlk önyükleme, parmaklarınızı almak için oldukça zor bir yer olma eğilimindedir. Fakat bundan sonra modern işletim sistemlerinin ortamı, kullandığınız uygulama ayarlarına daha çok benziyor. Sonunda, tüm kod :)

İlgili konular