Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Hedef bilgisayardan çekirdek hata ayıklama bağlantısını denetlemek için KDbgCtrl (Çekirdek Hata Ayıklama Denetimi, kdbgctrl.exe) aracı kullanılabilir.
Bu aracı kullanmak için hedef bilgisayarınızın Windows Server 2003 veya sonraki bir Windows sürümü çalıştırıyor olması gerekir.
KDbgCtrl beş farklı ayarı denetleyebiliyor: Tam Çekirdek Hata Ayıklama, Otomatik Çekirdek Hata Ayıklama, User-Mode Hata İşleme, Çekirdek Hata Ayıklamasını Engelleme ve DbgPrint arabelleğinin boyutu.
KDbgCtrl kullanmak için, son önyüklemeden önce hedef bilgisayarın önyükleme ayarlarında çekirdek hata ayıklamayı zaten etkinleştirmiş olmanız gerekir. Bu yapılmadıysa, çekirdek hata ayıklamasını etkinleştirmek için KDbgCtrl kullanılamaz. Bu önyükleme ayarlarıyla ilgili ayrıntılar için bkz. Hata Ayıklamayı Etkinleştirmek için Önyükleme Parametreleri.
Tam Çekirdek Hata Ayıklama
Tam Çekirdek Hata Ayıklama etkinleştirildiğinde, konak bilgisayarda çalışan bir çekirdek hata ayıklayıcı hedef bilgisayara girebilir. Çekirdek modu özel durumuyla karşılaşılırsa hedef bilgisayar çekirdek hata ayıklayıcısını çalıştıracaktır. Hedeften ana bilgisayara gönderilen DbgPrint çıkışı, sembol yükleme iletileri ve yeniden yönlendirilen kullanıcı modu hata ayıklayıcıları gibi iletilere de izin verilir.
Bu ayar devre dışı bırakılırsa, ana bilgisayardan gelen tüm sinyaller hedef tarafından yoksayılır.
Tam Çekirdek Hata Ayıklama varsayılan olarak etkindir. Geçerli ayar değerini denetlemek için kdbgctrl -c kullanın. Bu ayarı devre dışı bırakmak için kdbgctrl -d kullanın. Bu ayarı etkinleştirmek için kdbgctrl -e kullanın.
Geçerli ayarı denetlemek ve bir toplu iş dosyasında yürütmeyi denetlemek için kullanmak istiyorsanız kdbgctrl -cx komutunu kullanabilirsiniz. Bu komutla ilgili ayrıntılar için bkz. KDbgCtrl Command-Line Seçenekleri.
Otomatik Çekirdek Hata Ayıklama
Tam Çekirdek Hata Ayıklama etkinleştirildiyse, Otomatik Çekirdek Hata Ayıklama için geçerli ayar önemli değildir; tüm iletişimlere izin verilir.
Tam Çekirdek Hata Ayıklama devre dışı bırakıldığında ve Otomatik Çekirdek Hata Ayıklama etkinleştirildiğinde, yalnızca hedef bilgisayar hata ayıklama bağlantısı başlatabilir.
Bu durumda, yalnızca çekirdek modu özel durumu, kesme noktası veya başka bir çekirdek modu olayı bağlantı kurulmasına neden olur. DbgPrint çıkışı, sembol yükleme iletileri, yeniden yönlendirilen kullanıcı modu hata ayıklayıcısı girişi ve çıkışı veya diğer benzer iletiler için bağlantı kurulmayacak; bunlar çekirdek hata ayıklayıcısına gönderilmek yerine DbgPrint arabelleğinde depolanır.
Bir özel durum veya olay hedefin çekirdek hata ayıklayıcısına bozulmasına neden olursa, kdbgctrl -e komutunu yürütmüş gibi Tam Çekirdek Hata Ayıklama otomatik olarak açılır.
Otomatik Çekirdek Hata Ayıklama varsayılan olarak devre dışıdır (Tam Çekirdek Hata Ayıklama da devre dışı bırakılmadığı sürece bu önemli değildir). Geçerli ayar değerini denetlemek için kdbgctrl -ca kullanın. Bu ayarı devre dışı bırakmak için kdbgctrl -da kullanın. Bu ayarı etkinleştirmek için kdbgctrl -ea komutunu kullanın.
User-Mode Hata İşleme
User-Mode Hata İşleme etkinleştirildiğinde, bazı kullanıcı modu olayları hedef bilgisayarda çekirdek hata ayıklayıcısının devreye girmesine neden olur.
Özellikle, bir hata ayıklayıcı tarafından koda eklenen kesme noktaları veya DbgBreakPoint çağrıları gibi tüm int 3 kesmeleri, çekirdek hata ayıklayıcıya bir kesinti oluşturur. Ancak erişim ihlalleri ve sıfıra bölme gibi standart özel durumlar genellikle çekirdek hata ayıklayıcısına gönderilmez.
İşleme zaten bir kullanıcı modu hata ayıklayıcısı eklenmişse, bu hata ayıklayıcı tüm kullanıcı modu hatalarını yakalar ve çekirdek hata ayıklayıcısı değiştirilmez. Çeşitli kullanıcı modu hata işleyicilerinin öncelik derecelendirmesi için bkz. Postmortem Debugging'i etkinleştirme.
User-Mode Hata İşleme'nin çalışması için Tam Çekirdek Hata Ayıklama veya Otomatik Çekirdek Hata Ayıklama da etkinleştirilmelidir.
User-Mode Hata İşleme varsayılan olarak etkindir. Geçerli ayar değerini denetlemek için kdbgctrl -cu kullanın. Bu ayarı devre dışı bırakmak için kdbgctrl -du kullanın. Bu ayarı etkinleştirmek için kdbgctrl -eu kullanın.
Çekirdek Hata Ayıklamasını Engelleme
Bazı durumlarda, hedef bilgisayarı çekirdek hata ayıklaması için ayarlamak isteyebilirsiniz, ancak hedef bilgisayar başlatılana kadar çekirdek hata ayıklamayı etkinleştirmek için bekleyin. Çekirdek hata ayıklamasını engelleyerek bunu yapabilirsiniz.
Önemli
Önyükleme bilgilerini değiştirmek için BCDEdit'i kullanmadan önce, test bilgisayarında BitLocker ve Güvenli Önyükleme gibi Windows güvenlik özelliklerini geçici olarak askıya almanız gerekebilir. Test tamamlandığında bu güvenlik özelliklerini yeniden etkinleştirin ve güvenlik özellikleri devre dışı bırakıldığında test bilgisayarını uygun şekilde yönetin.
Çekirdek hata ayıklamasını engellemek için aşağıdakine benzer komutları kullanarak hedef bilgisayarı ayarlayın:
bcdedit /debug on
bcdedit /dbgsettings 1394 channel:32 /start DISABLE /noumex
Hedef bilgisayarı yeniden başlattığınızda, çekirdek hata ayıklama için hazırlanır, ancak çekirdek hata ayıklama ve User-Mode Hata İşleme devre dışı bırakılır. Bu noktada, bir ana bilgisayar hedef bilgisayara bağlanamaz, hata kontrolleri çekirdek hata ayıklayıcısı tarafından yakalanmaz ve kullanıcı modu özel durumları çekirdek hata ayıklayıcıda bir kesintiye neden olmaz.
Hazır olduğunuzda, aşağıdaki komutları girerek çekirdek hata ayıklamasını etkinleştirebilirsiniz (hedef bilgisayarı yeniden başlatmadan).
kdbgctrl -db
kdbgctrl -e
Daha sonra aşağıdaki komutları girerek çekirdek hata ayıklamasını devre dışı bırakabilirsiniz.
kdbgctrl -d
kdbgctrl -eb
Çekirdek hata ayıklamanın engellenip engellenmediğini denetlemek için kdbgctrl -cb kullanabilirsiniz.
DbgPrint Arabellek Boyutu
DbgPrint arabelleği, hedef bilgisayarın çekirdek hata ayıklayıcısına gönderdiği iletileri depolar.
Tam Çekirdek Hata Ayıklama etkinleştirildiyse, bu iletiler otomatik olarak çekirdek hata ayıklayıcısında görüntülenir. Ancak bu seçenek devre dışı bırakılırsa, bu iletiler arabellekte depolanır. Daha sonra çekirdek hata ayıklamasını etkinleştirebilir, bir çekirdek hata ayıklayıcısına bağlanabilir ve bu arabelleğin içeriğini görmek için !dbgprint uzantısını kullanabilirsiniz. Bu arabellek hakkında daha fazla bilgi için bkz: DbgPrint Arabelleği.
DbgPrint arabelleğinin varsayılan boyutu, ücretsiz bir Windows derlemesinde 4 KB'tır. Geçerli arabellek boyutunu belirlemek için kdbgctrl -cdb kullanın. Arabellek boyutunu değiştirmek için kdbgctrl -sdbSize komutunu kullanın; burada Boyut , yeni arabellek boyutunu belirtir. Söz dizimi ayrıntıları için bkz. KDbgCtrl Command-Line Seçenekleri.
Örnekleri
Tüm geçerli ayarları görüntülemek için aşağıdaki komutu kullanın:
kdbgctrl -c -ca -cu -cb -cdb
Varsayılan ayarları geri yüklemek için aşağıdaki komutu kullanın:
kdbgctrl -e -da -eu -db -sdb 0x1000
Konak bilgisayarı yalnızca özel durumlarda iletişim kurulacak şekilde kilitlemek için aşağıdaki komutu kullanın:
kdbgctrl -d -ea -eu
Tüm çekirdek hata ayıklamasını devre dışı bırakmak için aşağıdaki komutu kullanın:
kdbgctrl -d -da
Tüm çekirdek hata ayıklamasını devre dışı bırakıyorsanız, DbgPrint arabelleğinin boyutunu da artırmak isteyebilirsiniz. Bu, daha sonra görmeniz gerekirse tüm iletilerin kaydedilmesini güvence altına alır. Ayırabileceğiniz megabayt bellek varsa aşağıdaki komutu kullanabilirsiniz:
kdbgctrl -sdb 0x100000