Aracılığıyla paylaş


Sistematik düşük kaynak benzetimi

Sistematik düşük kaynak benzetimi seçeneği, çekirdek modu sürücülerine kaynak hataları ekler. Bu seçenek sürücü hata işleme yollarına nüfuz eder. Bu yolların test edilmesi geçmişte çok zor olmuştur. Sistematik düşük kaynak benzetimi seçeneği, kaynak hatalarını tahmin edilebilir bir şekilde ekler ve bu da bulduğu sorunları yeniden üretilebilir hale getirir. Hata yollarını yeniden oluşturmak kolay olduğundan, bu sorunlara yönelik düzeltmeleri doğrulamayı da kolaylaştırır.

Hatanın kök nedenini belirlemenize yardımcı olmak için, tam olarak hangi hataların eklendiğini ve hangi sırayla eklendiğini anlayabilen bir hata ayıklayıcı uzantısı sağlanır.

Dikkat Bu seçenek, bir bilgisayardaki tüm sürücüleri (veya büyük bir sürücü koleksiyonunu) doğrularken kullanılmak üzere tasarlanmamıştır. Bu seçenek yalnızca tek tek sürücülerin veya ekli filtre sürücülerinin hedefli testini yaparken kullanılmalıdır. Bu seçeneğin aynı anda çok sayıda sürücü üzerinde kullanılması öngörülemeyen sonuçlar doğurabilir ve test ettiğiniz sürücülerle ilgili olmayan bileşenlerde kilitlenmelere neden olarak sorunlar ortaya çıkarabilir.

Not: Windows 8.1 için WDK 8'de bulunan Yığın Tabanlı Hata Ekleme özelliği Sürücü Doğrulayıcısı ile tümleştirilmiştir. Windows 8.1 çalıştıran bilgisayarlarda Sistematik düşük kaynak benzetimi seçeneğini kullanın.

Belirli bir sürücüde Sistematik düşük kaynak simülasyonu seçeneği etkinleştirildiğinde, bu sürücünün çekirdeğe yaptığı bazı çağrıları engeller ve Ndis.sys. Sistematik düşük kaynak benzetimi, çağrı yığınına, özellikle de çağrı yığınının etkinleştirildiği sürücüden gelen bölümüne bakar. Bu yığını ilk kez gördüyse, bu çağrının semantiğine göre çağrı başarısız olur. Aksi takdirde, eğer bu çağrıyı daha önce gördüyse, dokunmadan geçirir. Sistematik düşük kaynak benzetimi, bir sürücünün birden çok kez yüklenebileceği ve kaldırılabildiği gerçeğiyle başa çıkmak için mantık içerir. Sürücü farklı bir bellek konumuna yeniden yüklense bile çağrı yığınının aynı olduğunu algılar.

bu seçeneği etkinleştirmeyi

Sürücü Doğrulayıcı Yöneticisi'ni veya Verifier.exe komut satırını kullanarak bir veya daha fazla sürücü için Sistematik düşük kaynak benzetimi özelliğini etkinleştirebilirsiniz. Ayrıntılar için bkz. Sürücü Doğrulayıcı Seçeneklerini Seçme. Sistematik düşük kaynak benzetimi seçeneğini etkinleştirmek veya devre dışı bırakmak için bilgisayarı yeniden başlatmanız gerekir.

  • Komut satırında

    Windows 11

    Komut satırında Sistematik düşük kaynak benzetimi, her ikisi de gerekli DIF modunu içeren doğrulayıcı /rc 19 36 veya doğrulayıcı /dif 19 ile temsil edilir.

    Özellik bir sonraki önyüklemeden sonra veya /now komut dizesine eklenirse hemen etkin olur.

    Windows 10 ve altı

    Komut satırında Sistematik düşük kaynak benzetimi doğrulayıcı /flags 0x040000 (Bit 18) ile temsil edilir. Sistematik düşük kaynak simülasyonu için 0x040000 bayrak değerini kullanın veya bayrak değerine 0x040000 ekleyin. Örneğin:

    verifier /flags 0x040000 /driver MyDriver.sys
    

    Özellik bir sonraki önyüklemeden sonra etkin olacaktır.

    Genel

    Sistematik düşük kaynak benzetimi seçeneğini etkinleştirdiğinizde, Sistematik düşük kaynak simülasyonunu daha fazla denetlemek için /faultssystematicOPTION komut satırı seçeneğini kullanabilirsiniz.

    SEÇENEK Açıklama

    başlatma zamanını etkinleştir

    Bilgisayar yeniden başlatma sırasında hata enjeksiyonu sağlar.

    disableboottime

    Bilgisayar yeniden başlatmalarında hata eklemelerini devre dışı bırakır (varsayılan ayar budur).

    recordboottime

    Bilgisayar yeniden başlatmaları boyunca ne olur modunda hata enjeksiyonlarını etkinleştirir.

    önyükleme zamanını sıfırla

    Bilgisayar yeniden başlatmalarında hata eklemelerini devre dışı bırakır ve yığın dışlama listesini temizler.

    enableruntime

    Dinamik olarak hata enjeksiyonlarını etkinleştirir.

    disableruntime

    Hata enjeksiyonlarını dinamik olarak devre dışı bırakır.

    kayıt süresi

    Miş gibi modunda hata enjekte etmeyi dinamik olarak etkinleştirir.

    `resetruntime`

    Hata eklemelerini dinamik olarak devre dışı bırakır ve daha önce hataya neden olan yığın listesini temizler.

    querystatistics

    Mevcut hata ekleme istatistiklerini gösterir.

    incrementcounter

    Bir hatanın ne zaman enjekte edildiğini belirlemek için kullanılan test geçme sayacını artırır.

    getstackid COUNTER

    Belirtilen enjekte edilen yığın tanımlayıcısını alır.

    excludestack STACKID

    Yığını hata enjeksiyonundan hariç tutar.

  • Sürücü Doğrulayıcı Yöneticisini Kullanarak

    1. Sürücü Doğrulayıcı Yöneticisi'ni başlatın. Komut İstemi penceresine Doğrulayıcı yazın.
    2. Özel ayarlar oluştur'u (kod geliştiricileri için) seçin ve İleri'ye tıklayın.
    3. Tam liste'den tek tek ayarları seçin.
    4. Sistematik düşük kaynak benzetimlerini seçin (kontrol edin).
    5. Bilgisayarı yeniden başlat.

Sistematik düşük kaynak benzetimi nedeniyle oluşan hata ayıklama denetimleri

Sistematik düşük kaynak benzetimi ile bulunan sorunların çoğu hata denetimlerine neden olur. Bu kod hatalarının nedenini belirlemeye yardımcı olmak için, Windows için Hata Ayıklama Araçları hata ayıklayıcı uzantısını (kdexts.dll) ve gerekli simgeleri sağlar.

Hata ayıklayıcısı uzantısını çalıştırmak için

  • Hata ayıklayıcısı komut isteminden aşağıdaki komutu yazın:

    !verifier 0x800
    

Bu, eklenen en son hatalardan gelen çağrı yığınlarını gösteren bilgileri hata ayıklayıcınıza döküm eder.