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.
Aşağıdaki durdurma kodları bu test kümesinde yer alır.
TerminateThread'a tehlikeli çağrı.
olası nedeniBir iş parçacığı (iş parçacığı kimliği parametre1) TerminateThread kullanılarak açıkça sonlandırılırsa bu durdurma oluşturulur.Bu işlev veri bozulması ve kilitlenmeler (MSDN'ye göre) sağladığından çok tehlikelidir.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 Terminatethread çağıranın - İş Parçacığı Kimliği.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Tehlikeli
- Durdurma Kimliği: TERMINATE_THREAD_CALL
- Durdurma kodu: 0x100
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Düşük bellek koşullarında olası yığın taşması.
olası nedeniBu durdurma, bir iş parçacığının ilk yığın işleme boyutu, yığın genişletilemezse düşük bellek koşullarında yığın taşması oluşturulabilecek şekildeyse oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Kullanılmıyor.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Tehlikeli
- Durdurma Kimliği: STACK_OVERFLOW
- Durdurma kodu: 0x101
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Birden çok iş parçacığı çalışmaya devam ederken ExitProcess çağrılır.
olası nedeniÇalışan birkaç iş parçacığı varken bir iş parçacığı ExitProcess'i çağırırsa bu durdurma oluşturulur. Böyle bir durumda, her iş parçacığı için dahili olarak TerminateThread çağrılır ve bu kilitlenmeler veya veri bozulmaları oluşturabilir.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Çalışan iş parçacığı sayısı.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Tehlikeli
- Durdurma Kimliği: INVALID_EXIT_PROCESS_CALL
- Durdurma kodu: 0x102
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
LoadLibrary, DllMain sırasında çağrılır.
olası nedeniDllMain içindeki kod LoadLibrary veya FreeLibary'yi çağırırsa bu durdurma oluşturulur. MSDN'nin yasakladığı davranıştır.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Dll Adı (döküm için du kullanın).
- Parametre 2 - Dll temel adresi.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Tehlikeli
- Durdurma Kimliği: INVALID_LOAD_LIBRARY_CALL
- Durdurma kodu: 0x103
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
FreeLibrary, DllMain sırasında çağrılır.
olası nedeniDllMain içindeki kod LoadLibrary veya FreeLibary'yi çağırırsa bu durdurma oluşturulur. MSDN'nin yasakladığı davranıştır.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Dll Adı (döküm için du kullanın).
- Parametre 2 - Dll temel adresi.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Tehlikeli
- Durdurma Kimliği: INVALID_FREE_LIBRARY_CALL
- Durdurma kodu: 0x104
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
SetProcessWorkingSetSize, MinimumWorkingSetSize = 0xFFFFFFFF ile çağrılır.
olası nedeniLütfen MinimumWorkingSetSize = (SIZE_T) -1 kullanın.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Kullanılmıyor.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Tehlikeli
- Durdurma Kimliği: INVALID_MINIMUM_PROCESS_WORKING_SIZE
- Durdurma kodu: 0x105
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
SetProcessWorkingSetSize, MaximumWorkingSetSize = 0xFFFFFFFF ile çağrılır.
olası nedeniLütfen MaximumWorkingSetSize = (SIZE_T) -1 kullanın.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Kullanılmıyor.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Tehlikeli
- Durdurma Kimliği: INVALID_MAXIMUM_PROCESS_WORKING_SIZE
- Durdurma kodu: 0x106
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
SetProcessWorkingSetSizeEx, MinimumWorkingSetSize = 0xFFFFFFFF ile çağrılır.
olası nedeniLütfen MinimumWorkingSetSize = (SIZE_T) -1 kullanın.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Kullanılmıyor.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Tehlikeli
- Durdurma Kimliği: INVALID_MINIMUM_PROCESS_WORKING_SIZE_EX
- Durdurma kodu: 0x107
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
SetProcessWorkingSetSizeEx, MaximumWorkingSetSize = 0xFFFFFFFF ile çağrılır.
olası nedeniLütfen MaximumWorkingSetSize = (SIZE_T) -1 kullanın.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Kullanılmıyor.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Tehlikeli
- Durdurma Kimliği: INVALID_MAXIMUM_PROCESS_WORKING_SIZE_EX
- Durdurma kodu: 0x108
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
İş parçacığı kritik bir bölüme sahip olamaz.
olası nedeniBir iş parçacığı (iş parçacığı kimliği parametre1) sonlandırılırsa, askıya alınırsa veya kritik bir bölümü barındıramadığı bir durumdaysa (çalışan iş parçacığı bir iş öğesini bitirdi) bu durdurma oluşturulur. Geçerli iş parçacığı suçludur. Bu durdurmada hata ayıklamak için aşağıdaki hata ayıklayıcı komutlarını kullanın:
- kb - geçerli yığın izlemesini almak için. Geçerli iş parçacığı kritik bölümün sahibiyse büyük olasılıkla ExitThread çağrısı yapıyordur. Geçerli iş parçacığı çıkmadan önce kritik bölümü serbest bırakmalıdır. Geçerli iş parçacığı TerminateThread veya SuspendThread'i çağırıyorsa, kritik bir bölümü tutan bir iş parçacığı için bunu yapmamalıdır.
- !cs -s <parametresi> - bu kritik bölüm hakkındaki bilgi dökümü.
- ln <parameter2> - kritik bölümün adresinin yakınında sembolleri göstermek için. Bu, sızdırılan kritik bölümü belirlemeye yardımcı olmalıdır.
- dps <parameter4> - bu kritik bölüm başlatma için yığın izlemesinin dökümünü almak için.
- Parametre 1 - İş Parçacığı Kimliği.
- Parametre 2 - Kritik bölüm adresi.
- Parametre 3 - Kritik bölüm hata ayıklama bilgileri adresi.
- Parametre 4 - Kritik bölüm başlatma yığını izlemesi.
- Test Katmanı: Kilit
- Durdurma Kimliği: EXIT_THREAD_OWNS_LOCK
- Durdurma kodu: 0x200
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Etkin bir kritik bölüm içeren DLL'nin kaldırılması.
olası nedeniBir DLL'nin kritik bölümü içeren bir genel değişkeni varsa ve DLL kaldırılırsa ancak kritik bölüm silinmediyse bu durdurma oluşturulur. Bu durdurmada hata ayıklamak için aşağıdaki hata ayıklayıcı komutlarını kullanın:
- du <parameter3> - suçlu DLL'nin adını döküm etmek için.
- .reload dllname veya .reload dllname = <parameter4> - bu DLL'nin simgelerini yeniden yüklemek için.
- !cs -s <parametre1> - bu kritik bölüm hakkındaki döküm bilgileri.
- ln <parameter1> - kritik bölümün adresinin yakınında sembolleri göstermek için. Bu, sızdırılan kritik bölümü belirlemeye yardımcı olmalıdır.
- dps <parameter2> - bu kritik bölüm başlatma için yığın izlemesinin dökümünü almak için.
- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Kritik bölüm başlatma yığını izlemesi.
- Parametre 3 - DLL ad adresi.
- Parametre 4 - DLL temel adresi.
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_IN_UNLOADED_DLL
- Durdurma kodu: 0x201
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Etkin bir kritik bölüm içeren yığın bloğu serbest.
olası nedeniYığın ayırması kritik bir bölüm içeriyorsa, ayırma serbest bırakılırsa ve kritik bölüm silinmediyse bu durdurma oluşturulur. Bu durdurmada hata ayıklamak için aşağıdaki hata ayıklayıcı komutlarını kullanın:
- !cs -s <parametre1> - bu kritik bölüm hakkındaki döküm bilgileri.
- ln <parameter1> - kritik bölümün adresinin yakınında sembolleri göstermek için. Bu, sızdırılan kritik bölümü belirlemeye yardımcı olmalıdır.
- dps <parameter2> - bu kritik bölüm başlatma için yığın izlemesinin dökümünü almak için.
- < parameter3> ve <parameter4> , bu yığın bloğunun nereye ayrıldığını anlamanıza yardımcı olabilir (ayırmanın boyutu büyük olasılıkla önemlidir).
- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Kritik bölüm başlatma yığını izlemesi.
- Parametre 3 - Yığın blok adresi.
- Parametre 4 - Yığın blok boyutu.
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_IN_FREED_HEAP
- Durdurma kodu: 0x202
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Çift başlatılan veya bozuk kritik bölüm.
olası nedeniBu durak genellikle kritik bir bölüm birden fazla kez başlatıldıysa oluşturulur. Bu durumda parameter3 ve parameter4, bu başlatmaların ikisi için yığın izleme adresleridir. Bazı durumlarda kritik bölüm veya hata ayıklama bilgileri yapısı bozulmuşsa bu durdurmayı almak mümkündür. Bu ikinci durumda parametre3 ve parametre4 geçersiz ve işe yaramaz olabilir. Bu durakta hata ayıklamak için:
- !cs -s -d <parametre2> - bu kritik bölüm hakkındaki döküm bilgileri.
- ln <parameter1> - kritik bölümün adresinin yakınında sembolleri göstermek için. Bu, genel bir değişkense kritik bölümü tanımlamaya yardımcı olabilir.
- dps <parameter3> ve dps <parameter4> - bu kritik bölümü başlatmak için iki kod yolunu tanımlamak için.
- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Etkin listede bulunan hata ayıklama bilgileri yapısının adresi.
- Parametre 3 - İlk başlatma yığını izlemesi.
- Parametre 4 - İkinci başlatma yığını izlemesi.
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_DOUBLE_INITIALIZE
- Durdurma kodu: 0x203
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Etkin bir kritik bölüm içeren boş bellek.
olası nedeniKritik bir bölümü içeren bellek serbest bırakılırsa ancak kritik bölüm DeleteCriticalSection kullanılarak silinmediyse bu durdurma oluşturulur. Bu durdurmada hata ayıklamak için aşağıdaki hata ayıklayıcı komutlarını kullanın:
- !cs -s -d <parametre2> - bu kritik bölüm hakkındaki döküm bilgileri.
- dps <parameter3> - bu kritik bölümü başlatmaya yönelik kod yolunu tanımlamak için.
Çoğu durumda kilit doğrulayıcı yığın ayırma, DLL aralığı, sanal bellek ayırma veya Eşlenen MapViewOfFile bellek aralığında bulunan kritik bölümlerin hemen sızdırılmış olduğunu algılar ve bu durumlarda farklı duraklar verir. Bu nedenle bu doğrulayıcı durağı için çok az durum kaldı. Kilit, çekirdek modu kodu tarafından serbest bir bellek aralığında veya VirtualFreeEx gibi API'ler tarafından serbestleştirilmiş çapraz işlem olmalıdır. Hata ayıklayıcı konsolunda 'g' düğmesine basılarak önceki bir durak (örneğin, LOCK_IN_FREED_HEAP veya LOCK_IN_UNLOADED_DLL) devam ettiyse, genellikle bu durakla karşılaşılır.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Kritik bölüm hata ayıklama bilgileri adresi.
- Parametre 3 - Kritik bölüm başlatma yığını izlemesi.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_IN_FREED_MEMORY
- Durdurma kodu: 0x204
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Bozuk kritik bölüm.
olası nedeniBu durdurma, kritik bölümün DebugInfo alanı boş belleği işaret ediyorsa oluşturulur. Etkin kritik bölüm listesinde genellikle başka bir geçerli DebugInfo yapısı bulunur. Bozulma olmadan iki işaretçi aynı olmalıdır. Bu durdurmada hata ayıklamak için aşağıdaki hata ayıklayıcı komutlarını kullanın:
- !cs -s -d <parametre3> - Etkin listede bulunan hata ayıklama bilgi yapısının geçerli içeriğine dayalı olarak bu kritik bölümle ilgili bilgi dökümü (bu yapı nadiren bozulur, bu nedenle genellikle bu bilgiler güvenilirdir).
- !cs -s <parametre1> - Kritik bölüm yapısının geçerli içeriğine göre bu kritik bölüm hakkındaki döküm bilgileri (yapı zaten bozuktur, bu nedenle bazen bu bilgiler güvenilir DEĞİlDR).
- dps <parameter4> - bu kritik bölümü başlatmaya yönelik kod yolunu tanımlamak için. Address parameter1'deki kritik bölümün dökümünü alın ve bozulma desenini arayın. ntdll.dl için iyi simgelerle aşağıdaki komutları kullanabilirsiniz:
- dt ntdll!_RTL_CRITICAL_SECTION LOCK_ADDRESS
- dt ntdll!_RTL_CRITICAL_SECTION_DEBUG DEBUG_ADDRESS
- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Bu kritik bölümün geçersiz hata ayıklama bilgileri adresi.
- Parametre 3 - Etkin listede bulunan hata ayıklama bilgilerinin adresi.
- Parametre 4 - Başlatma yığını izlemesi.
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_CORRUPTED
- Durdurma kodu: 0x205
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçersiz kritik bölüm sahibi iş parçacığı.
olası nedeniSahip iş parçacığı kimliği geçerli bağlamda geçersizse bu durdurma oluşturulur. Bu durakta hata ayıklamak için:
- !cs -s <parametre1> - bu kritik bölüm hakkındaki döküm bilgileri.
- ln <parameter1> - kritik bölümün adresinin yakınında sembolleri göstermek için. Bu, kritik bölümü tanımlamaya yardımcı olmalıdır.
- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Sahip olan iş parçacığı.
- Parametre 3 - Beklenen sahip olan iş parçacığı.
- Parametre 4 - Kritik bölüm hata ayıklama bilgi adresi.
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_INVALID_OWNER
- Durdurma kodu: 0x206
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçersiz kritik bölüm özyineleme sayısı.
olası nedeniKritik bölüm yapısının özyineleme sayısı alanı geçerli bağlamda geçersizse bu durdurma oluşturulur. Bu durakta hata ayıklamak için:
- !cs -s <parametre1> - bu kritik bölüm hakkındaki döküm bilgileri.
- ln <parameter1> - kritik bölümün adresinin yakınında sembolleri göstermek için. Bu, kritik bölümü tanımlamaya yardımcı olmalıdır.
- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Özyineleme sayısı.
- Parametre 3 - Beklenen özyineleme sayısı.
- Parametre 4 - Kritik bölüm hata ayıklama bilgi adresi.
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_INVALID_RECURSION_COUNT
- Durdurma kodu: 0x207
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçersiz kilit sayısı olan kritik bölüm siliniyor.
olası nedeniBu durdurma, kritik bir bölüm silinirse veya kritik bölüm başlatılmamışsa bir iş parçacığına aitse oluşturulur. Bu durakta hata ayıklamak için:
- !cs -s <parametre1> - bu kritik bölüm hakkındaki döküm bilgileri. Sahip olan iş parçacığı 0 ise kritik bölüm başlatılmamıştır.
- ln <parameter1> - kritik bölümün adresinin yakınında sembolleri göstermek için. Bu, kritik bölümü tanımlamaya yardımcı olmalıdır.
- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Kilit sayısı.
- Parametre 3 - Beklenen kilit sayısı.
- Parametre 4 - Sahip olan iş parçacığı.
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_INVALID_LOCK_COUNT
- Durdurma kodu: 0x208
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Kritik bölüm fazla yayımlandı veya bozuk.
olası nedeniKritik bir bölüm geçerli iş parçacığının aldığından daha fazla kez yayınlanırsa bu durdurma oluşturulur. Bu durakta hata ayıklamak için:
- !cs -s <parametre1> - bu kritik bölüm hakkındaki döküm bilgileri.
- !cs -s -d <parameter4> - bu kritik bölüm hakkındaki döküm bilgileri.
- ln <parameter1> - kritik bölümün adresinin yakınında sembolleri göstermek için. Bu, kritik bölümü tanımlamaya yardımcı olmalıdır.
- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Kilit sayısı.
- Parametre 3 - Beklenen kilit sayısı.
- Parametre 4 - Kritik bölüm hata ayıklama bilgi adresi.
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_OVER_RELEASED
- Durdurma kodu: 0x209
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Kritik bölüm başlatılmadı.
olası nedeniBu durdurma, kritik bir bölüm başlatılmadan veya silindikten sonra kullanılıyorsa oluşturulur. Bu durakta hata ayıklamak için:
- ln <parameter1> - kritik bölümün adresinin yakınında sembolleri göstermek için. Bu, kritik bölümü tanımlamaya yardımcı olmalıdır.
- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Kritik bölüm hata ayıklama bilgi adresi.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_NOT_INITIALIZED
- Durdurma kodu: 0x210
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Kritik bölüm zaten başlatıldı.
olası nedeniKritik bir bölüm geçerli iş parçacığı tarafından yeniden başlatılırsa bu durdurma oluşturulur. Bu durakta hata ayıklamak için:
- !cs -s <parametre1> veya !cs -s -d parametre2 - bu kritik bölüm hakkındaki bilgi dökümü.
- ln <parameter1> - kritik bölümün adresinin yakınında sembolleri göstermek için. Bu, genel bir değişkense kritik bölümü tanımlamaya yardımcı olabilir.
- dps <parameter3> - bu kritik bölümün ilk başlatılması için kod yolunu tanımlamak için.
- kb - bu kritik bölümü yeniden başlatan geçerli yığın izlemesini görüntülemek için.
- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Kritik bölüm hata ayıklama bilgi adresi.
- Parametre 3 - İlk başlatma yığını izlemesi. NULL değilse dökümünü almak için dps kullanın
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_ALREADY_INITIALIZED
- Durdurma kodu: 0x211
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Etkin bir kritik bölüm içeren sanal belleği boşaltma.
olası nedeniGeçerli iş parçacığı etkin bir kritik bölüm içeren bir bellek bloğunda VirtualFree'yi çağırıyorsa bu durdurma oluşturulur. Bu belleği boşaltmadan önce uygulamanın bu kritik bölümde DeleteCriticalSection çağrısı yapması gerekir.
- kb - VirtualFree'yi çağıran geçerli yığın izlemesini görüntülemek için. Olası suçlu, VirtualFree'yi çağıran DLL'dir.
- !cs -s <parametre1> - bu kritik bölüm hakkındaki döküm bilgileri.
- dps <parameter2> - bu kritik bölümün başlatılmasına yönelik kod yolunu tanımlamak için.
- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Kritik bölüm başlatma yığını izlemesi.
- Parametre 3 - Bellek bloğu adresi.
- Parametre 4 - Bellek bloğu boyutu.
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_IN_FREED_VMEM
- Durdurma kodu: 0x212
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Etkin bir kritik bölüm içeren bellek bölgesinin eşlemesini kaldırma.
olası nedeniGeçerli iş parçacığı etkin bir kritik bölüm içeren bir bellek bloğunda UnmapViewOfFile'ı çağırıyorsa bu durdurma oluşturulur. Uygulama, bu belleğin eşlemesini kaldırmadan önce bu kritik bölümde DeleteCriticalSection'ı çağırmalıdır.
- kb - UnmapViewOfFile'ı çağıran geçerli yığın izlemesini görüntülemek için. Olası suçlu, UnmapViewOfFile'ı çağıran DLL'dir.
- !cs -s <parametre1> - bu kritik bölüm hakkındaki döküm bilgileri.
- dps <parameter2> - bu kritik bölümün başlatılmasına yönelik kod yolunu tanımlamak için.
- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Kritik bölüm başlatma yığını izlemesi.
- Parametre 3 - Bellek bloğu adresi.
- Parametre 4 - Bellek bloğu boyutu.
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_IN_UNMAPPED_MEM
- Durdurma kodu: 0x213
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçerli iş parçacığı kritik bölümlere sahip değil.
olası nedeniGeçerli iş parçacığı LeaveCriticalSection'ı çağırıyorsa ancak iç doğrulayıcı kayıt defterine göre herhangi bir kritik bölüme sahip değilse bu durdurma oluşturulur. Parametre2 sıfırsa, büyük olasılıkla geçerli iş parçacığındaki bir hatadır. Girmemiş olduğu kritik bir bölümü bırakmaya çalışır veya aynı kritik bölüm için EnterCriticalSection adından daha fazla kez LeaveCriticalSection çağrısı yapıyor olabilir. Parametre2 sıfır değilse (negatif bir tamsayıdır) iç doğrulayıcı veri yapıları büyük olasılıkla bozuktur.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Geçerli iş parçacığına ait kritik bölümlerin sayısı.
- Parametre 3 - Kullanılmıyor
- Parametre 4 - Kullanılmıyor
- Test Katmanı: Kilit
- Durdurma Kimliği: THREAD_NOT_LOCK_OWNER
- Durdurma kodu: 0x214
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Başka bir DLL'ye özel kritik bölümü kullanma.
olası nedeniGeçerli iş parçacığı başka bir DLL içinde bulunan özel bir kilit kullanmayı denerse bu durdurma oluşturulur. Örneğin a.dll ntdll.dlliçinde tanımlanan kritik bir bölüm girmeye çalışır. Özel kilitler DLL'ler arasında kullanılamaz.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Kritik bölüm adresi.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor
- Parametre 4 - Kullanılmıyor
- Test Katmanı: Kilit
- Durdurma Kimliği: LOCK_PRIVATE
- Durdurma kodu: 0x215
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
SRW Kilidi başlatılmadı.
olası nedeniBu durdurma, bir iş parçacığı başlatılmamış SRW kilidini (Param1) kullanmaya çalışıyorsa oluşturulur. Hata ayıklamak için geçerli yığın izlemesini almak için 'kb' kullanın. SRW kilidi burada kullanılıyor. SRW kilidi, kullanılmadan önce InitializeSRWLock kullanılarak başlatılmalıdır.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - SRW Kilidi
- Parametre 2 - Kullanılmıyor
- Parametre 3 - Kullanılmıyor
- Parametre 4 - Kullanılmıyor
- Test Katmanı: SRWLock
- Durdurma Kimliği: NOT_INITIALIZED
- Durdurma kodu: 0x250
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
SRW Lock zaten başlatıldı.
olası nedeniSRW kilidi (Param1) yeniden başlatılıyorsa bu durdurma oluşturulur. SRW kilidi diğer iş parçacıkları tarafından etkin bir şekilde kullanılıyorsa, kilidin yeniden başlatılması uygulama tarafından askıda kalmalar ve kilitlenmeler gibi öngörülemeyen davranışlara neden olur. Başlatma yığını izlemesi, SRW kilidi statik olarak başlatıldıysa alma işlemini gösterebilir.
- kb - geçerli yığın izlemesini almak için. SRW kilidi burada yeniden başlatılıyor.
- dps <parameter3> - SRW kilit başlatma yığını izlemesini almak için. Bu yığın izlemesi, kilit statik olarak başlatıldıysa alma işlemini gösterebilir.
- Parametre 1 - SRW Kilidi
- Parametre 2 - SRW kilidini başlatan iş parçacığının ThreadId değeri.
- Parametre 3 - Başlatma yığını izlemesinin adresi. SRW kilidinin nereden başlatıldığını görmek için dps <adresini> kullanın.
- Parametre 4 - Kullanılmıyor
- Test Katmanı: SRWLock
- Durdurma Kimliği: ALREADY_INITIALIZED
- Durdurma kodu: 0x251
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
SRW kilidinde eşleşmeyen Acquire-Release.
olası nedeniSRW kilidi (Param1) yanlış bir yayın API'siyle yayınlanıyorsa bu durdurma oluşturulur. SRW kilidi paylaşılan erişim için alındıysa ve özel sürüm API'sini kullanarak yayınlanıyorsa veya SRW kilidi özel erişim için alındıysa ve paylaşılan yayın API'sini kullanarak yayınlanıyorsa. Bu, uygulama tarafından askıda kalmalar ve kilitlenmeler de dahil olmak üzere öngörülemeyen davranışlara neden olabilir.
- kb - geçerli yığın izlemesini almak için. Burada SRW kilidi yanlış API kullanılarak serbest bırakılıyor.
- dps <parameter3> - SRW kilidini almak için yığın izlemesini alın.
- Parametre 1 - SRW Kilidi
- Parametre 2 - SRW kilidini alan iş parçacığının ThreadId değeri.
- Parametre 3 - Alma yığını izlemesinin adresi. SRW kilidinin nereden alındığını görmek için dps <adresini> kullanın.
- Parametre 4 - Kullanılmıyor
- Test Katmanı: SRWLock
- Durdurma Kimliği: MISMATCHED_ACQUIRE_RELEASE
- Durdurma kodu: 0x252
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
SRW kilidi aynı iş parçacığı tarafından özyinelemeli olarak alınıyor.
olası nedeniSRW kilidi (Param1) aynı iş parçacığı tarafından özyinelemeli olarak alınıyorsa bu durdurma oluşturulur. Bu kilitlenmeye neden olur ve iş parçacığı süresiz olarak engellenir. Özel modda bir SRW kilidinin özyinelemeli olarak alınması kilitlenmeye neden olur. Paylaşılan modda bir SRW kilidinin özyinelemeli olarak alınması, özel erişim için bekleyen bir iş parçacığı olduğunda kilitlenmeye neden olur. Aşağıdaki örneği göz önünde bulundurun: - İş Parçacığı A paylaşılan modda SRW kilidini alır - İş Parçacığı B, SRW kilidini özel modda almaya çalışır ve bekler - İş Parçacığı A, paylaşılan modda SRW kilidini özyinelemeli olarak almaya çalışır. Özel garson olmadığı sürece (bu durumda B) bu işlem başarılı olur. SRW kilitlerinde yazar açlığı olmadığından, iş parçacığı A, B iş parçacığının arkasında bekler. Şimdi, İş Parçacığı B, döngüsel beklemeye ve dolayısıyla kilitlenmeye neden olan B İş Parçacığını bekleyen İş Parçacığı A'yı bekliyor.
- kb - geçerli yığın izlemesini almak için. Burası SRW kilidinin özyinelemeli olarak alındığı yerdir.
- dps <parametre2> - ilk alma için yığın izlemesini almak için.
- Parametre 1 - SRW Kilidi
- Parametre 2 - İlk alma yığını izlemesinin adresi. SRW kilidinin nereden alındığını görmek için dps <adresini> kullanın.
- Parametre 3 - Kullanılmıyor
- Parametre 4 - Kullanılmıyor
- Test Katmanı: SRWLock
- Durdurma Kimliği: RECURSIVE_ACQUIRE
- Durdurma kodu: 0x253
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Çıkmakta veya sonlandırılmakta olan iş parçacığı bir SRW kilidine sahiptir.
olası nedeniBu durdurma, SRW kilidine (Param1) sahip olan iş parçacığı (Param2) çıkılıyorsa veya sonlandırılıyorsa oluşturulur. Bu, yalnız bırakılmış bir SRW kilidine neden olur ve bu kilidi almaya çalışan iş parçacıkları süresiz olarak engellenir.
- kb - geçerli yığın izlemesini almak için. İş parçacığının çıktığı veya sonlandırıldığı yer burasıdır.
- dps <parameter3> - SRW kilidini almak için yığın izlemesini alın.
- Parametre 1 - SRW Kilidi
- Parametre 2 - Çıkmakta veya sonlandırılmakta olan iş parçacığının ThreadId değeri.
- Parametre 3 - Alma yığını izlemesinin adresi. SRW kilidinin nereden alındığını görmek için dps <adresini> kullanın.
- Parametre 4 - Kullanılmıyor
- Test Katmanı: SRWLock
- Durdurma Kimliği: EXIT_THREAD_OWNS_LOCK
- Durdurma kodu: 0x254
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Serbest bırakılan SRW kilidi bu iş parçacığı tarafından alınmadı.
olası nedeniBu durdurma, SRW kilidi (Param1) kilidi almayan iş parçacığı (Param2) tarafından serbest bırakılıyorsa oluşturulur. Bu, doğru olması zor olan ve uygulama tarafından öngörülemeyen davranışlara yol açabilen kötü programlama uygulamasını temsil eder.
- kb - geçerli yığın izlemesini almak için. burası, iş parçacığının almadığı SRW kilidini serbest bıraktığı yerdir.
- dps <parameter4> - SRW kilidini almak için yığın izlemesini alın.
- Parametre 1 - SRW Kilidi
- Parametre 2 - Geçerli ThreadId.
- Parametre 3 - SRW kilidini alan iş parçacığının ThreadId değeri.
- Parametre 4 - Alma yığını izlemesinin adresi. SRW kilidinin nereden alındığını görmek için dps <adresini> kullanın.
- Test Katmanı: SRWLock
- Durdurma Kimliği: INVALID_OWNER
- Durdurma kodu: 0x255
- Şiddet: Uyarı
- Tek seferlik hata:
- Hata raporu: Hiç kimse
- Dosyaya : evet
- Geri iz oluşturma: evet
Boşaltılan bellek etkin bir SRW kilidi içerir.
olası nedeniSerbest bırakılmakta olan bellek adresi (Param1) hala kullanımda olan etkin bir SRW kilidi içeriyorsa bu durdurma oluşturulur. Bu, uygulama tarafından kilitlenmeler ve kilitlenmeler de dahil olmak üzere öngörülemeyen davranışlara neden olabilir.
- kb - geçerli yığın izlemesini almak için. Burası, etkin bir SRW kilidi içeren belleğin boşaltıldığı yerdir.
- dps <parameter4> - SRW kilidini almak için yığın izlemesini alın.
- Parametre 1 - SRW Kilidi
- Parametre 2 - Boşaltılan belleğin adresi.
- Parametre 3 - SRW kilidini alan iş parçacığının ThreadId değeri.
- Parametre 4 - Alma yığını izlemesinin adresi. SRW kilidinin nereden alındığını görmek için dps <adresini> kullanın.
- Test Katmanı: SRWLock
- Durdurma Kimliği: IN_FREED_MEMORY
- Durdurma kodu: 0x256
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Kaldırılan DLL etkin bir SRW kilidi içeriyor.
olası nedeniKaldırılan DLL (Param2) hala kullanımda olan etkin bir SRW kilidi (Param1) içeriyorsa bu durdurma oluşturulur. Bu, uygulama tarafından kilitlenmeler ve kilitlenmeler de dahil olmak üzere öngörülemeyen davranışlara neden olabilir.
- kb - geçerli yığın izlemesini almak için. Bu, etkin bir SRW kilidi içeren DLL'nin kaldırıldığı yerdir.
- du <parameter2> - kaldırılmakta olan DLL'nin adını bulmak için.
- dps <parameter4> - SRW kilidini almak için yığın izlemesini alın.
- Parametre 1 - SRW Kilidi
- Parametre 2 - Kaldırılmakta olan DLL'nin adının adresi. Adı görmek için du <address> komutunu kullanın.
- Parametre 3 - SRW kilidini alan iş parçacığının ThreadId değeri.
- Parametre 4 - Alma yığını izlemesinin adresi. SRW kilidinin nereden alındığını görmek için dps <adresini> kullanın.
- Test Katmanı: SRWLock
- Durdurma Kimliği: IN_UNLOADED_DLL
- Durdurma kodu: 0x257
- Şiddet: Uyarı
- Tek seferlik hata:
- Hata raporu: Hiç kimse
- Dosyaya : evet
- Geri iz oluşturma: evet
Kapatma yolunda SRW kilidi alınıyor ve bu da kilitlenmeye neden olabilir.
olası nedeniBu durdurma, kapatma yolunda bir SRW kilidi (Param1) alınıyorsa oluşturulur. SRW kilitleri kapatmaya duyarlı değildir. Yalnız bırakılmış bir SRW kilidi almaya çalışmak (işlem kapatma veya başka bir nedenden dolayı) kilitlenmeye neden olur. Kapatma yolunda ConditionVariableSRW çağrısı, kilit bu çağrı sırasında serbest bırakılıp alındıktan sonra bu doğrulayıcının durmasına da neden olabilir. Bu durakta hata ayıklamak için:
- kb - geçerli yığın izlemesini almak için. Burası SRW kilidinin bir kapatma yolunda alındığı yerdir.
- Parametre 1 - SRW Kilidi
- Parametre 2 - Kullanılmıyor
- Parametre 3 - Kullanılmıyor
- Parametre 4 - Kullanılmıyor
- Test Katmanı: SRWLock
- Durdurma Kimliği: ACQUIRE_ON_SHUTDOWN_PATH
- Durdurma kodu: 0x258
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçerli yığın izlemesi için geçersiz tanıtıcı özel durumu.
olası nedeniYığının üstündeki işlev sistem yordamlarına geçersiz bir tanıtıcı geçirdiyse bu durdurma oluşturulur. Genellikle basit bir kb komutu geçirilen tanıtıcının değerini ortaya çıkartır (genellikle ilki olan parametrelerden biri olmalıdır). Değer null ise bu açıkça yanlıştır. Değer düzgün görünüyorsa, bu tanıtıcı değerle ilgili işlemlerin geçmişini almak için !htrace hata ayıklayıcısı uzantısını kullanmanız gerekir. Çoğu durumda, tanıtıcı değerinin kapatıldıktan sonra kullanılması gerekir.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Özel durum kodu.
- Parametre 2 - Özel durum kaydı. Görüntülemek için .exr kullanın.
- Parametre 3 - Bağlam kaydı. Görüntülemek için .cxr kullanın.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Işleme
- Durdurma Kimliği: INVALID_HANDLE
- Durdurma kodu: 0x300
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçerli yığın izlemesi için geçersiz TLS dizini kullanıldı.
olası nedeniYığının üstündeki işlev TLS sistem yordamlarına geçersiz bir TLS dizini geçirdiyse bu durdurma oluşturulur. Genellikle basit bir kb komutu neyin yanlış olduğunu gösterir. Buradaki tipik hata, TlsAlloc çağırmak yerine bir TLS dizini için belirli bir değer varsaymaktır. Bu durum, her zaman N değerini aldığınızı düşünerek veya başlatılmamış bir değişken nedeniyle TlsAlloc'u çağırmaya gerek kalmadığını düşünerek veya daha sık gerçekleşebilir.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Geçersiz TLS dizini.
- Parametre 2 - Dizinin alt kısmı bekleniyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Işleme
- Durdurma Kimliği: INVALID_TLS_VALUE
- Durdurma kodu: 0x301
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
WaitForMultipleObjects çağrısı için geçersiz parametreler.
olası nedeniBu durdurma, yığının en üstündeki işlevin beklemesi gereken tanıtıcı dizisinin adresi olarak NULL ile WaitForMultipleObjects olarak adlandırılırsa veya tutamaç sayısı olarak sıfırla oluşturulur. Basit bir kb komutu, bu API'yi yanlış çağıran işlevi gösterir.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Nesne tanıtıcılarının adresi vektör.
- Parametre 2 - Tanıtıcı sayısı.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Işleme
- Durdurma Kimliği: INCORRECT_WAIT_CALL
- Durdurma kodu: 0x302
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
NULL tanıtıcı parametre olarak geçirildi. Geçerli bir tanıtıcı kullanılmalıdır.
olası nedeniYığının en üstündeki işlev sistem yordamlarına null tanıtıcı geçirildiyse bu durdurma oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Kullanılmıyor.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Işleme
- Durdurma Kimliği: NULL_HANDLE
- Durdurma kodu: 0x303
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
DllMain'de bir iş parçacığı tanıtıcısı bekleniyor.
olası nedeniGeçerli iş parçacığı geçerli işlemde yüklenen DLL'lerden birinin DllMain işlevinin içinde kod çalıştırıyorsa ve aynı işlemde bir iş parçacığı tutamacını beklemek için WaitForSingleObject veya WaitForMultipleObjects'i çağırıyorsa bu durdurma oluşturulur. bu büyük olasılıkla kilitlenmeye yol açabilir çünkü ikinci iş parçacığından çıkılmadığı sürece iş parçacığı tutamacı sinyal almayacak. İkinci iş parçacığı ExitThread'u çağırdığında DLL yükleyici kilidini almaya çalışır ve geçerli işlemdeki tüm DLL'ler için DllMain 'i (DLL_THREAD_DETACH) çağırır. Ancak yükleyici kilidi ilk iş parçacığına (iş parçacığı tutamacını bekleyen iş parçacığına) aittir, bu nedenle iki iş parçacığı kilitlenmeye başlar.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - İş parçacığı tutamacı.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Işleme
- Durdurma Kimliği: WAIT_IN_DLLMAIN
- Durdurma kodu: 0x304
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Tanıtıcı için yanlış nesne türü.
olası nedeniGeçerli iş parçacığı yanlış nesne türüne sahip bir nesnenin tanıtıcısına sahip bir API'yi çağırıyorsa bu durdurma oluşturulur. Örneğin setEvent'i semafor tutamacıyla parametre olarak çağırmak bu durağı oluşturur. Bu durakta hata ayıklamak için:
- kb - geçerli yığın izlemesini görüntülemek için. Suçlu, büyük olasılıkla verifier.dlliçine çağıran DLL'dir;
- du <parameter2> - tutamacın gerçek türünü görüntülemek için. Tanıtıcı değeri parametre1'dir. Yukarıdaki örnekte, şu görüntülenir: "Semaphore".
- du <parameter3> - API tarafından beklenen nesne türünü görüntülemek için. Yukarıdaki örnekte bu ad: "Event".
- Bu tanıtıcıda son açma/kapatma işlemleri için yığın izlemesini görüntüleyebileceği için !htrace <parameter1> yararlı olabilir.
- Parametre 1 - Handle değeri.
- Parametre 2 - Nesne türü adı. Görüntülemek için du kullanın
- Parametre 3 - Beklenen nesne türü adı. Görüntülemek için du kullanın
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Işleme
- Durdurma Kimliği: INCORRECT_OBJECT_TYPE
- Durdurma kodu: 0x305
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Boşaltılmayan TLS dizinini ayıran DLL kaldırılma.
olası nedeniTlS dizinini boşaltmadan önce TLS dizini ayıran bir DLL kaldırılıyorsa bu durdurma oluşturulur. Bu durakta hata ayıklamak için:
- du <parameter3> - suçlu DLL'nin adını görüntüler;
- .reload xxx.dll=<parameter4> - suçlu DLL için sembolleri yeniden yükleyin (gerekirse). xxx.dll, yukarıdaki adımda görüntülenen DLL'nin adıdır;
- u <parameter2> - TLS'yi ayıran kodu sökün. Bu, TLS'yi ayıran ancak DLL kaldırılana kadar boşaltmayı unutan işleve işaret etmelidir.
- Parametre 1 - TLS dizini
- Parametre 2 - Bu TLS dizinini ayıran kodun adresi.
- Parametre 3 - DLL ad adresi. Çöp atmak için du kullanın.
- Parametre 4 - DLL temel adresi.
- Test Katmanı: TLS
- Durdurma Kimliği: TLS_LEAK
- Durdurma kodu: 0x350
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Bozuk doğrulayıcı TLS yapısı.
olası nedeniİş parçacığı için TLS yuvalarının durumunu depolamak için kullanılan iç doğrulayıcı yapıları bozulursa bu durdurma oluşturulur. Bunun nedeni büyük olasılıkla süreçteki bazı rastgele bozulmalar olabilir.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - TEB adresi.
- Parametre 2 - Beklenen TEB adresi.
- Parametre 3 - İş Parçacığı Kimliği.
- Parametre 4 - Beklenen iş parçacığı kimliği.
- Test Katmanı: TLS
- Durdurma Kimliği: CORRUPTED_TLS
- Durdurma kodu: 0x351
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçersiz bir TLS dizini kullanılıyor.
olası nedeniGeçersiz bir TLS dizini kullanılırsa bu durdurma oluşturulur. Çoğu durumda bunun nedeni TlsFree çağrıldığında kodun bu dizini kullanmaya devam ediyor olmasıdır. Burada threadpool iş parçacığı için bir örnek verilmiştir. T1: Dll yükleri ve TlsAlloc T1: Kuyruk geri çağırma T1: Atlandı beklemede/iptal edilen geri çağırma T1: TlsFree T2: Geri çağırma çalıştırılır ve Çağrılar TlsSetValue T1: Dll kaldırılır
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - TLS dizini
- Parametre 2 - Kullanılmaz.
- Parametre 3 - Kullanılmaz.
- Parametre 4 - Kullanılmaz.
- Test Katmanı: TLS
- Durdurma Kimliği: INVALID_TLS_INDEX
- Durdurma kodu: 0x352
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Sanal bellek bloğu geçersiz boyutta veya başlangıç adresinde serbest.
olası nedeniBu durdurma, uygulama doğrulayıcı geçersiz bir başlangıç adresi veya bellek ayırma boyutuyla bir VirtualFree veya DLL yüklemesi algılarsa oluşturulur. DLL'nin kaldırılması durumunda bu büyük olasılıkla yüklenen DLL listesinde bellek bozulması anlamına gelir. Bu durdurma hatasını ayıklamak için geçerli yığın izlemesine ve serbest bırakmak üzere olan bellek adresine ve boyutuna bakın ve bunların neden geçersiz olduğunu belirlemeye çalışın.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Ayırma temel adresi.
- Parametre 2 - Bellek bölgesi boyutu.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: INVALID_FREEMEM
- Durdurma kodu: 0x600
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Yanlış sanal ayırıcı çağrısı.
olası nedeniBu durdurma, uygulama doğrulayıcı geçersiz bir başlangıç adresi veya bellek ayırma boyutuna sahip bir VirtualAlloc çağrısı algılarsa oluşturulur. Bu durakta hata ayıklamak için geçerli yığın izlemesine (kb) ve ayrılmak üzere olan bellek adresine ve boyutuna bakın ve bunların neden geçersiz olduğunu belirlemeye çalışın.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Ayırma temel adresinin işaretçisi.
- Parametre 2 - Bellek bölgesi boyutu işaretçisi.
- Parametre 3 - Kullanılmıyor
- Parametre 4 - Kullanılmıyor
- Test Katmanı: Bellek
- Durdurma Kimliği: INVALID_ALLOCMEM
- Durdurma kodu: 0x601
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Yanlış harita görünümü çağrısı.
olası nedeniBu durdurma, uygulama doğrulayıcı geçersiz bir temel adres veya eşleme boyutuyla mapViewOfFile çağrısı algılarsa oluşturulur. Bu durdurma hatasını ayıklamak için geçerli yığın izlemesine (kb) ve eşlenmek üzere olan bellek adresine ve boyutuna bakın ve bunların neden geçersiz olduğunu belirlemeye çalışın.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Eşleme temel adresi işaretçisi.
- Parametre 2 - Boyutu görüntüleme işaretçisi.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: INVALID_MAPVIEW
- Durdurma kodu: 0x602
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçersiz adres yoklama.
olası nedeniUygulama doğrulayıcı, bellek arabelleğinin yoklanması için geçersiz bir adresle (örneğin, normal bir kullanıcı modu adresi yerine çekirdek modu adresi) bir IsBadXXXPtr çağrısı algılarsa bu durdurma oluşturulur. Bu durdurma hatasını ayıklamak için geçerli yığın izlemesine (kb) bakın ve IsBadXXXPtr işlevini çağıranın neden geçersiz bir adresle sonuçlanacağını belirlemeye çalışın. Çoğu zaman adres düz sahtedir, örneğin başlatılmamış bir işaretçidir. MSDN kitaplığı, uygulamaların IsBadXXXPtr API'lerini kullanmamasının birkaç nedenini listeler: Önceden duyarlı bir çoklu görev ortamında, başka bir iş parçacığının işlemin test edilen belleğe erişimini değiştirmesi mümkündür. Geçersiz olabilecek işaretçilerin başvurularını kaldırma, diğer iş parçacıklarında yığın genişletmeyi devre dışı bırakabilir. Yığın genişletme devre dışı bırakıldığında yığınını tüketen bir iş parçacığı, açılır hata penceresi veya tanılama bilgileri olmadan üst işlemin hemen sonlandırılmasına neden olur. Bir işlemdeki iş parçacıklarının, birinin diğerinin ihtiyaç duyduğu belleği boşaltmayacak şekilde işbirliği yapması beklenir. Bu işlevin kullanılması, bunu yapma gereksinimini olumsuz etkilemez. Bu yapılmazsa, uygulama öngörülemeyen bir şekilde başarısız olabilir. Tüm bu nedenlerden dolayı, bu API'leri asla kullanmamanızı öneririz.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Başlangıç adresi.
- Parametre 2 - Bellek bloğu boyutu.
- Parametre 3 - Geçersiz adres.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: PROBE_INVALID_ADDRESS
- Durdurma kodu: 0x603
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Boş belleği yoklama.
olası nedeniBu durdurma, uygulama doğrulayıcı boş bellek ayırma için bir IsBadXXXPtr çağrısı algılarsa oluşturulur. Bu çok kötü bir durumdur çünkü başka bazı durumlarda bu belleğin başka bir ayırma için zaten yeniden kullanılması mümkündür. Geçerli kod yolu (kb) bu belleğe sahip olmadığından, başka birinin belleğini bozabilir ve bu da feci etkilere yol açabilir. Bu hata ayıklamak için geçerli yığın izlemesine (kb) bakın ve IsBadXXXPtr işlevini çağıranın neden boş bellek yoklamasına neden sonlanacağını belirlemeye çalışın. Adres düz sahte (örneğin başlatılmamış işaretçi) veya bellek boşaltılmış olabilir. Bellek VirtualFree veya UnmapViewOfFile API'lerinden biri tarafından zaten serbest bırakıldıysa, '!avrf -vs -a parameter3', bu adresi ayıran/boşaltan kod yollarının yığın izlemelerinin günlüğünü arar ve varsa bu yığın izlemelerini görüntüler. Bu, bu belleği boşaltan yığın izlemesini gösterebilir. Daha sık, bellek zaten boşaltılmış bir yığın ayırmadır. Bu olasılığı denetlemek için '!avrf -hp -a parameter3', bu adresi yığından/yığından ayıran/boşaltan kod yollarının yığın izlemelerinin günlüğünü arar ve varsa bu yığın izlemelerini görüntüler. MSDN kitaplığı, uygulamaların IsBadXXXPtr API'lerini kullanmamasının birkaç nedenini listeler: Önceden duyarlı bir çoklu görev ortamında, başka bir iş parçacığının işlemin test edilen belleğe erişimini değiştirmesi mümkündür. Geçersiz olabilecek işaretçilerin başvurularını kaldırma, diğer iş parçacıklarında yığın genişletmeyi devre dışı bırakabilir. Yığın genişletme devre dışı bırakıldığında yığınını tüketen bir iş parçacığı, açılır hata penceresi veya tanılama bilgileri olmadan üst işlemin hemen sonlandırılmasına neden olur. Bir işlemdeki iş parçacıklarının, birinin diğerinin ihtiyaç duyduğu belleği boşaltmayacak şekilde işbirliği yapması beklenir. Bu işlevin kullanılması, bunu yapma gereksinimini olumsuz etkilemez. Bu yapılmazsa, uygulama öngörülemeyen bir şekilde başarısız olabilir. Tüm bu nedenlerden dolayı, bu API'leri asla kullanmamanızı öneririz.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Başlangıç adresi.
- Parametre 2 - Bellek bloğu boyutu.
- Parametre 3 - Boş bellek sayfasının adresi.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: PROBE_FREE_MEM
- Durdurma kodu: 0x604
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Bir koruma sayfasını yoklama.
olası nedeniUygulama doğrulayıcı en az bir GUARD_PAGE içeren bir bellek ayırma için IsBadXXXPtr çağrısı algılarsa bu durdurma oluşturulur. Bu çok kötü çünkü bu GUARD_PAGE bir iş parçacığının geçerli yığınının sonu olabilir. MSDN kitaplığında belirtildiği gibi: Geçersiz olabilecek işaretçilerin başvurusunu kaldırma, diğer iş parçacıklarında yığın genişletmeyi devre dışı bırakabilir. Yığın genişletme devre dışı bırakıldığında yığınını tüketen bir iş parçacığı, açılır hata penceresi veya tanılama bilgileri olmadan üst işlemin hemen sonlandırılmasına neden olur. Bu hata ayıklamak için geçerli yığın izlemesine (kb) bakın ve IsBadXXXPtr işlevini çağıranın neden bir GUARD_PAGE yoklamayı sonlandırdığını belirlemeye çalışın. MSDN kitaplığı, uygulamaların IsBadXXXPtr API'lerini kullanmamasının birkaç nedenini listeler: Önceden duyarlı bir çoklu görev ortamında, başka bir iş parçacığının işlemin test edilen belleğe erişimini değiştirmesi mümkündür. Geçersiz olabilecek işaretçilerin başvurularını kaldırma, diğer iş parçacıklarında yığın genişletmeyi devre dışı bırakabilir. Yığın genişletme devre dışı bırakıldığında yığınını tüketen bir iş parçacığı, açılır hata penceresi veya tanılama bilgileri olmadan üst işlemin hemen sonlandırılmasına neden olur. Bir işlemdeki iş parçacıklarının, birinin diğerinin ihtiyaç duyduğu belleği boşaltmayacak şekilde işbirliği yapması beklenir. Bu işlevin kullanılması, bunu yapma gereksinimini olumsuz etkilemez. Bu yapılmazsa, uygulama öngörülemeyen bir şekilde başarısız olabilir. Tüm bu nedenlerden dolayı, bu API'leri asla kullanmamanızı öneririz.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Başlangıç adresi.
- Parametre 2 - Bellek bloğu boyutu.
- Parametre 3 - Koruma sayfasının adresi.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: PROBE_GUARD_PAGE
- Durdurma kodu: 0x605
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
NULL adresi yoklama.
olası nedeniBu durdurma, uygulama doğrulayıcı null adresli bir IsBadXXXPtr çağrısı algılarsa oluşturulur. Bu durdurma hatalarını ayıklamak için geçerli yığın izlemesine (kb) bakın ve IsBadXXXPtr işlevini çağıranın neden NULL adresiyle sonuçlanacağını belirlemeye çalışın. Bu genellikle birinin bellek ayırma işlevlerinden birinin dönüş değerini denetlemediğinin işaretidir. Örneğin aşağıdaki kod yanlıştır:
int main (void)
{
PVOID p;
p = malloc (1024);
Use (p);
return 0;
}
void Use (PVOID p)
{
if (IsBadReadPtr (p)) {
return;
}
//
// p is safe to be used here.
//
}
Bu kod şu şekilde yeniden yazılmalıdır:
int main (void)
{
PVOID p;
p = malloc (1024);
if (NULL == p)) {
return -1;
}
Use (p);
return 0;
}
void Use (PVOID p)
{
//
// p is safe to be used here.
//
}
MSDN kitaplığı, uygulamaların IsBadXXXPtr API'lerini kullanmamasının birkaç nedenini listeler: Önceden duyarlı bir çoklu görev ortamında, başka bir iş parçacığının işlemin test edilen belleğe erişimini değiştirmesi mümkündür. Geçersiz olabilecek işaretçilerin başvurularını kaldırma, diğer iş parçacıklarında yığın genişletmeyi devre dışı bırakabilir. Yığın genişletme devre dışı bırakıldığında yığınını tüketen bir iş parçacığı, açılır hata penceresi veya tanılama bilgileri olmadan üst işlemin hemen sonlandırılmasına neden olur. Bir işlemdeki iş parçacıklarının, birinin diğerinin ihtiyaç duyduğu belleği boşaltmayacak şekilde işbirliği yapması beklenir. Bu işlevin kullanılması, bunu yapma gereksinimini olumsuz etkilemez. Bu yapılmazsa, uygulama öngörülemeyen bir şekilde başarısız olabilir. Tüm bu nedenlerden dolayı, bu API'leri asla kullanmamanızı öneririz.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Kullanılmıyor.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: PROBE_NULL
- Durdurma kodu: 0x606
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçersiz başlangıç adresi veya boyutuyla bellek bloğu yoklama.
olası nedeniBu durdurma, uygulama doğrulayıcı geçersiz bir başlangıç adresi (normal kullanıcı modu adresi yerine çekirdek modu adresi) veya bellek arabelleğinin yoklanması için geçersiz boyuta sahip bir IsBadXXXPtr çağrısı algılarsa oluşturulur. Bu durdurma hatasını ayıklamak için geçerli yığın izlemesine (kb) bakın ve IsBadXXXPtr işlevini çağıranın neden geçersiz bir adres veya boyutla sonuçlanacağını belirlemeye çalışın. Çoğu zaman adres veya boyut düz sahtedir; örneğin başlatılmamış değişkenlerdir. MSDN kitaplığı, uygulamaların IsBadXXXPtr API'lerini kullanmamasının birkaç nedenini listeler: Önceden duyarlı bir çoklu görev ortamında, başka bir iş parçacığının işlemin test edilen belleğe erişimini değiştirmesi mümkündür. Geçersiz olabilecek işaretçilerin başvurularını kaldırma, diğer iş parçacıklarında yığın genişletmeyi devre dışı bırakabilir. Yığın genişletme devre dışı bırakıldığında yığınını tüketen bir iş parçacığı, açılır hata penceresi veya tanılama bilgileri olmadan üst işlemin hemen sonlandırılmasına neden olur. Bir işlemdeki iş parçacıklarının, birinin diğerinin ihtiyaç duyduğu belleği boşaltmayacak şekilde işbirliği yapması beklenir. Bu işlevin kullanılması, bunu yapma gereksinimini olumsuz etkilemez. Bu yapılmazsa, uygulama öngörülemeyen bir şekilde başarısız olabilir. Tüm bu nedenlerden dolayı, bu API'leri asla kullanmamanızı öneririz.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Başlangıç adresi.
- Parametre 2 - Bellek bloğu boyutu.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: PROBE_INVALID_START_OR_SIZE
- Durdurma kodu: 0x607
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçersiz boyuta veya başlangıç adresine sahip DLL'nin kaldırılması.
olası nedeniBu durdurma, uygulama doğrulayıcı dll bellek aralığının geçersiz bir başlangıç adresi veya boyutuyla bir DLL yüklemesini algılarsa oluşturulur. Bu büyük olasılıkla iç ntdll.dll yüklenen DLL listesinde bellek bozulması anlamına gelir.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - DLL bellek temel adresi.
- Parametre 2 - DLL bellek aralığı boyutu.
- Parametre 3 - DLL ad adresi. Çöp atmak için du kullanın.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: INVALID_DLL_RANGE
- Durdurma kodu: 0x608
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçerli iş parçacığının yığın adres aralığı içindeki bellek bloğu serbest.
olası nedeniBu durdurma, uygulama doğrulayıcı geçerli iş parçacığı yığınının (!) parçası olan bir bellek bloğu için VirtualFree algılarsa oluşturulur. Bu durdurma hatasını ayıklamak için geçerli yığın izlemesine (kb) bakın ve VirtualFree adlı işlevin neden bellek bloğunun dinamik olarak ayrıldığını veya eşlendiğini ama bunun aslında yığından ayrılan bellek olduğunu düşündüğünü anlamaya çalışın.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Ayırma temel adresi.
- Parametre 2 - Bellek bölgesi boyutu.
- Parametre 3 - Stack düşük sınır adresi.
- Parametre 4 - Stack üst sınır adresi.
- Test Katmanı: Bellek
- Durdurma Kimliği: FREE_THREAD_STACK_MEMORY
- Durdurma kodu: 0x609
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
VirtualFree işlemi için yanlış FreeType parametresi.
olası nedeniUygulama doğrulayıcı, FreeType parametresi için yanlış değere sahip bir VirtualFree algılarsa bu durdurma oluşturulur. Bu parametre için kabul edilebilir yalnızca iki değer MEM_DECOMMIT ve MEM_RELEASE. VirtualFree bu ikisi dışında başka bir değerle çağrılırsa, VirtualFree belleği boşaltamaz. Bu durdurma hatasını ayıklamak için geçerli yığın izlemesine (kb) bakın: VirtualFree çağıranı büyük olasılıkla suçludur.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Uygulama tarafından kullanılan yanlış değer.
- Parametre 2 - Beklenen doğru değer 1.
- Parametre 3 - Beklenen doğru değer 2.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: INVALID_FREE_TYPE
- Durdurma kodu: 0x60A
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Zaten ücretsiz olan sanal bellek bloğunu boşaltmaya çalışıyor.
olası nedeniBu durdurma, uygulama doğrulayıcı zaten ücretsiz olan bir adres için virtualfree algılarsa oluşturulur. Bu durdurma hatasını ayıklamak için geçerli yığın izlemesine (kb) bakın ve belleğin neden boş olduğunu ancak uygulamanın neden yeniden boşaltmaya çalıştığını belirlemeyi deneyin. '!avrf -vs -a parameter1', bu adresi ayıran/boşaltan kod yollarının yığın izlemelerinin günlüğünü arar ve varsa bu yığın izlemelerini görüntüler. Bu, bu belleği boşaltan yığın izlemesini gösterebilir.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Bellek bloğu adresi.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: MEM_ALREADY_FREE
- Durdurma kodu: 0x60B
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
VirtualFree (MEM_RELEASE) işlemi için Yanlış Boyut parametresi.
olası nedeniBu durdurma, uygulama doğrulayıcı dwSize parametresi için sıfır olmayan bir değere sahip bir VirtualFree (MEM_RELEASE) algılarsa oluşturulur. MEM_RELEASE kullanırken, bu parametre için kabul edilebilir tek değer 0'dır. VirtualFree, 0 dışında başka bir değerle çağrılırsa, VirtualFree belleği boşaltmaz. Bu durdurma hatasını ayıklamak için geçerli yığın izlemesine (kb) bakın: VirtualFree çağıranı büyük olasılıkla suçludur.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Uygulama tarafından kullanılan boyut yanlış.
- Parametre 2 - Beklenen doğru boyut (0).
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: INVALID_FREE_SIZE
- Durdurma kodu: 0x60C
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
DLL giriş noktası yordamında beklenmeyen özel durum oluşturuldu.
olası nedeniDll'nin giriş noktası (DllMain) işlevi özel durum oluşturduğunda bu durdurma oluşturulur. Bunun kötü olmasının bir örneği şudur: DllMain(DLL_PROCESS_ATTACH) bir özel durum oluşturursa, Windows DLL yükleyicisi şunları yapacaktır: - Özel durumu yakalayın ve gizleyin; - DllMain(DLL_PROCESS_DETACH) çağrısı yapmadan DLL'yi kaldırın. Bu nedenle çoğu durumda DLL zaten bazı kaynaklar ayırmış, ardından özel durumu tetiklemiş ve bu kaynakları DllMain'de (DLL_PROCESS_DETACH) serbest bırakma şansı olmayacaktır. Bu durakta hata ayıklamak için:
- du <parameter1> - DLL adını görüntülemek için;
- .exr <parameter2> - özel durum bilgilerini görüntülemek için;
- .cxr <parameter3> ve ardından kb - özel durum bağlam bilgilerini ve özel durumun oluşturulduğu zamana ilişkin yığın izlemesini görüntülemek için;
- < parameter4> , bir iç doğrulayıcı yapısının adresidir ve doğrulayıcı kullanıcılarının çoğu için herhangi bir öneme sahip değildir.
- Parametre 1 - DLL adı (dökümünü almak için du kullanın).
- Parametre 2 - Özel durum kaydı. Görüntülemek için .exr kullanın.
- Parametre 3 - Bağlam kaydı. Görüntülemek için .cxr kullanın.
- Parametre 4 - Verifier dll tanımlayıcısı
- Test Katmanı: Bellek
- Durdurma Kimliği: DLL_UNEXPECTED_EXCEPTION
- Durdurma kodu: 0x60D
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
İş parçacığı işlevinde beklenmeyen özel durum ortaya çıktı.
olası nedeniBir iş parçacığı işlevi özel durum oluşturursa bu durdurma oluşturulur. Bu kötü çünkü tüm süreç sonlandırılacak. Bu durakta hata ayıklamak için:
- < parametre1> , özel durum türü için önemli olabilir. Örneğin özel durum kodu C0000005 Erişim İhlali anlamına gelir;
- .exr <parameter2> - özel durum bilgilerini görüntülemek için;
- Özel durum bağlam bilgilerini görüntülemek için .cxr <parameter3> ve ardından kb .
- Parametre 1 - Özel durum kodu.
- Parametre 2 - Özel durum kaydı. Görüntülemek için .exr kullanın.
- Parametre 3 - Bağlam kaydı. Görüntülemek için .cxr kullanın.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: THREAD_UNEXPECTED_EXCEPTION
- Durdurma kodu: 0x60E
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Bellek yoklama sırasında beklenmeyen özel durum oluştu.
olası nedeniIsBadXXXPtr çağrısı sırasında bir özel durum alırsak bu durdurma oluşturulur. Bu, yokladığımız bellek arabelleğinin aslında çağıran tarafından varsayılan korumaya sahip olmadığı veya belleğin zaten serbest olduğu vb. anlamına gelir. IsBadXXXPtr API'lerinin kullanılmasının neden önerilmediğine ilişkin daha fazla örnek için yukarıdaki diğer durdurma kodu (PROBE_INVALID_ADDRESS, PROBE_FREE_MEM, PROBE_GUARD_PAGE, PROBE_NULL, PROBE_INVALID_START_OR_SIZE) hakkındaki tartışmaya bakın. Bu durakta hata ayıklamak için:
- < parametre1> genellikle C0000005 olur ve bu da Erişim İhlali anlamına gelir;
- .exr <parameter2> - özel durum bilgilerini görüntülemek için;
- .cxr <parameter3> ve ardından kb - özel durum bağlam bilgilerini ve özel durumun oluşturulduğu sırada yığın izlemesini görüntülemek için.
- Parametre 1 - Özel durum kodu.
- Parametre 2 - Özel durum kaydı. Görüntülemek için .exr kullanın.
- Parametre 3 - Bağlam kaydı. Görüntülemek için .cxr kullanın.
- Parametre 4 - Kullanılmıyor
- Test Katmanı: Bellek
- Durdurma Kimliği: PROBE_UNEXPECTED_EXCEPTION
- Durdurma kodu: 0x60F
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
NULL adresi sıfırlanmaya çalışılıyor.
olası nedeniUygulama doğrulayıcı ilk parametresi NULL olan bir VirtualFree (MEM_RESET) çağrısı algılarsa bu durdurma oluşturulur. MEM_RESET yalnızca önceden ayrılmış bellek için kullanılmalıdır, bu nedenle NULL bu durumda geçerli bir ilk parametre değildir.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Kullanılmıyor.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: INVALID_MEM_RESET
- Durdurma kodu: 0x610
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçerli iş parçacığının yığın adres aralığı içindeki yığın bellek bloğu serbest.
olası nedeniBu durdurma, uygulama doğrulayıcı geçerli iş parçacığı yığınının (!) parçası olan bir bellek bloğu için heapFree algılarsa oluşturulur. Bu durdurma hatasını ayıklamak için geçerli yığın izlemesine (kb) bakın ve HeapFree adlı işlevin neden bellek bloğunun dinamik olarak ayrıldığını veya eşlendiğini ama bunun aslında yığından ayrılan bellek olduğunu düşündüğünü anlamaya çalışın.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Ayırma temel adresi.
- Parametre 2 - Bellek bölgesi boyutu.
- Parametre 3 - Stack düşük sınır adresi.
- Parametre 4 - Stack üst sınır adresi.
- Test Katmanı: Bellek
- Durdurma Kimliği: FREE_THREAD_STACK_MEMORY_AS_HEAP
- Durdurma kodu: 0x612
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçerli iş parçacığının yığın adres aralığı içindeki bellek bölgesinin eşlemesi kaldırılmış.
olası nedeniBu durdurma, uygulama doğrulayıcı geçerli iş parçacığı yığınının (!) parçası olan bir bellek bloğu için UnmapViewOfFile algılarsa oluşturulur. Bu durdurma hatasını ayıklamak için geçerli yığın izlemesine (kb) bakın ve UnmapViewOfFile adlı işlevin neden bellek bloğunun dinamik olarak ayrıldığını veya eşlendiğini ama bunun aslında yığından ayrılan bellek olduğunu düşündüğünü anlamaya çalışın.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Ayırma temel adresi.
- Parametre 2 - Bellek bölgesi boyutu.
- Parametre 3 - Stack düşük sınır adresi.
- Parametre 4 - Stack üst sınır adresi.
- Test Katmanı: Bellek
- Durdurma Kimliği: FREE_THREAD_STACK_MEMORY_AS_MAP
- Durdurma kodu: 0x613
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Yanlış RTL_RESOURCE adresi.
olası nedeniUygulama, geçerli bir nesnenin adresi olarak NULL veya başka bir yanlış adres (örn. çekirdek modu adresi) kullanmaya çalışıyorsa bu durdurma oluşturulur. RtlInitializeResource (NULL), bu tür bir doğrulayıcı durdurmasını tetikleyecek yanlış bir API çağrısıdır. param1, kullanılan yanlış adrestir ve suçlu yığın izlemesindedir (kb ile görüntüleyin).
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Adres.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: INVALID_RESOURCE_ADDRESS
- Durdurma kodu: 0x614
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçersiz kritik bölüm adresi.
olası nedeniUygulama, geçerli bir nesnenin adresi olarak NULL veya başka bir yanlış adres (örn. çekirdek modu adresi) kullanmaya çalışıyorsa bu durdurma oluşturulur. EnterCriticalSection(NULL), bu tür bir doğrulayıcı durdurmasını tetikleyecek yanlış bir API çağrısıdır. param1, kullanılan yanlış adrestir ve suçlu yığın izlemesindedir (kb ile görüntüleyin).
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Adres.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: INVALID_CRITSECT_ADDRESS
- Durdurma kodu: 0x615
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Yürütülemeyen bellekte kod yürütmeyi deneme.
olası nedeniUygulama yürütülemeyen veya ücretsiz bir adresten kod çalıştırmaya çalışıyorsa bu durdurma oluşturulur. Bu durakta hata ayıklamak için:
- u <parameter2> - suçlu kodunun bir araya getirmek için
- .exr <parameter3> - özel durum bilgilerini görüntülemek için
- .cxr <parameter4> ve ardından kb - özel durum bağlam bilgilerini ve özel durumun oluşturulduğu zamana ilişkin yığın izlemesini görüntülemek için.
- Parametre 1 - Adrese erişiliyor.
- Parametre 2 - Geçersiz erişim gerçekleştiren kod.
- Parametre 3 - Özel durum kaydı. Görüntülemek için .exr kullanın.
- Parametre 4 - Bağlam kaydı. Görüntülemek için .cxr kullanın.
- Test Katmanı: Bellek
- Durdurma Kimliği: THREAD_UNEXPECTED_EXCEPTION_CODE
- Durdurma kodu: 0x616
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Çıkış arabelleği başlatılırken beklenmeyen özel durum oluştu.
olası nedeniWin32 veya CRT API'si için çıkış parametresi olarak belirtilen bir arabelleği başlatırken bir özel durum alırsak bu durdurma oluşturulur. Bu genellikle belirtilen çıkış arabelleği boyutunun yanlış olduğu anlamına gelir. Bu durakta hata ayıklamak için:
- .exr <parameter3> - özel durum bilgilerini görüntülemek için
- .cxr <parameter4> ve ardından kb - özel durum bağlam bilgilerini ve özel durumun oluşturulduğu sırada yığın izlemesini görüntülemek için.
- Parametre 1 - Arabellek başlangıç adresi.
- Parametre 2 - Arabellek boyutu.
- Parametre 3 - Özel durum kaydı. Görüntülemek için .exr kullanın.
- Parametre 4 - Bağlam kaydı. Görüntülemek için .cxr kullanın.
- Test Katmanı: Bellek
- Durdurma Kimliği: OUTBUFF_UNEXPECTED_EXCEPTION
- Durdurma kodu: 0x617
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Yığın bloğu boyutunu bulmaya çalışırken beklenmeyen özel durum.
olası nedeniBu durdurma, serbest bırakılmakta olan bir yığın bloğu için HeapSize çağrılırken bir özel durum alırsak oluşturulur. Bu genellikle belirtilen yığın bloğu adresinin yanlış olduğu veya yığının bozuk olduğu anlamına gelir. Bu durakta hata ayıklamak için:
- .exr <parameter3> - özel durum kaydını görüntülemek için
- .cxr <parameter4> ve ardından kb - özel durum bağlam bilgilerini ve özel durumun oluşturulduğu sırada yığın izlemesini görüntülemek için.
- Parametre 1 - Boşaltılan yığın bloğunun adresi.
- Parametre 2 - Yığın tutamacı.
- Parametre 3 - Özel durum kaydı. Görüntülemek için .exr kullanın.
- Parametre 4 - Bağlam kaydı. Görüntülemek için .cxr kullanın.
- Test Katmanı: Bellek
- Durdurma Kimliği: SIZE_HEAP_UNEXPECTED_EXCEPTION
- Durdurma kodu: 0x618
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Bellek bloğu geçersiz başlangıç adresiyle boşaltıyor.
olası nedeniBu durdurma, program sayfaların bölgesi ayrıldığında VirtualAlloc veya VirtualAllocEx işlevi tarafından döndürülen temel adres olmayan bir lpAddress parametresiyle VirtualFree (MEM_RELEASE) çağırırsa oluşturulur; Bu durakta hata ayıklamak için:
- kb - VirtualFree'yi çağıran geçerli yığın izlemesini görüntülemek için. Olası suçlu, VirtualFree'yi çağıran DLL'dir.
- Parametre 1 - Boşaltılan bellek bloğunun adresi.
- Parametre 2 - Beklenen doğru bellek bloğu adresi.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: INVALID_FREEMEM_START_ADDRESS
- Durdurma kodu: 0x619
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçersiz başlangıç adresi olan bellek bloğunun eşlemesi kaldırılsın.
olası nedeniProgram, MapViewOfFile veya MapViewOfFileEx işlevine önceki bir çağrı tarafından döndürülen değerle aynı olmayan bir lpBaseAddress parametresiyle UnmapViewOfFile'ı çağırırsa bu durdurma oluşturulur. Bu durakta hata ayıklamak için:
- kb - UnmapViewOfFile'ı çağıran geçerli yığın izlemesini görüntülemek için. Olası suçlu, UnmapViewOfFile'ı çağıran DLL'dir.
- Parametre 1 - Eşlenmeyen bellek bloğunun adresi.
- Parametre 2 - Beklenen doğru bellek bloğu adresi.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: INVALID_UNMAPVIEW_START_ADDRESS
- Durdurma kodu: 0x61A
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
threadpool geri çağırma işlevinde beklenmeyen özel durum ortaya çıktı.
olası nedeniBu durdurma, iş parçacığı havuzu iş parçacığındaki bir geri çağırma işlevi özel durum oluşturursa oluşturulur. Bu durakta hata ayıklamak için:
- < parametre1> , özel durum türü için önemli olabilir. Örneğin özel durum kodu C0000005 Erişim İhlali anlamına gelir.
- .exr <parameter2> - özel durum bilgilerini görüntülemek için.
- Özel durum bağlam bilgilerini görüntülemek için .cxr <parameter3> ve ardından kb .
- Parametre 1 - Özel durum kodu
- Parametre 2 - Özel durum kaydı. Görüntülemek için .exr kullanın
- Parametre 3 - Bağlam kaydı. Görüntülemek için .cxr kullanma
- Parametre 4 - Kullanılmıyor
- Test Katmanı: Bellek
- Durdurma Kimliği: THREADPOOL_UNEXPECTED_EXCEPTION
- Durdurma kodu: 0x61B
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
yürütülemeyen bellekteki kod
olası nedeniUygulama yürütülemeyen veya ücretsiz bir adresten kod çalıştırmaya çalışıyorsa bu durdurma oluşturulur. Bu durakta hata ayıklamak için:
- u <parameter2> - suçlu kodunun bir araya getirmek için
- .exr <parameter3> - özel durum bilgilerini görüntülemek için
- .cxr <parameter4> ve ardından kb - özel durum bağlam bilgilerini ve özel durumun oluşturulduğu zamana ilişkin yığın izlemesini görüntülemek için.
- Parametre 1 - Adrese erişiliyor
- Parametre 2 - Geçersiz erişim gerçekleştiren kod
- Parametre 3 - Özel durum kaydı. Görüntülemek için .exr kullanın.
- Parametre 4 - Bağlam kaydı. Görüntülemek için .cxr kullanın.
- Test Katmanı: Bellek
- Durdurma Kimliği: THREADPOOL_UNEXPECTED_EXCEPTION_CODE
- Durdurma kodu: 0x61C
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Yürütülebilir yığın oluşturuluyor.
olası nedeniUygulama yürütülebilir bir yığın oluşturuyorsa bu durdurma oluşturulur. Bu bir güvenlik riski olabilir.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Kullanılmıyor.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: EXECUTABLE_HEAP
- Durdurma kodu: 0x61D
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Yürütülebilir bellek ayırma.
olası nedeniUygulama yürütülebilir bellek ayırıyorsa bu durdurma oluşturulur. Bu bir güvenlik riski olabilir.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Çağıran tarafından belirtilen sayfa koruması.
- Parametre 2 - Kullanılmıyor.
- Parametre 3 - Kullanılmıyor.
- Parametre 4 - Kullanılmıyor.
- Test Katmanı: Bellek
- Durdurma Kimliği: EXECUTABLE_MEMORY
- Durdurma kodu: 0x61E
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Yürütülemeyen bellekte kod yürütmeyi deneme (ilk şans).
olası nedeniUygulama yürütülemeyen veya ücretsiz bir adresten kod çalıştırmaya çalışıyorsa bu durdurma oluşturulur. Bu durakta hata ayıklamak için:
- u <parameter2> - suçlu kodunun bir araya getirmek için
- .exr <parameter3> - özel durum bilgilerini görüntülemek için
- .cxr <parameter4> ve ardından kb - özel durum bağlam bilgilerini ve özel durumun oluşturulduğu zamana ilişkin yığın izlemesini görüntülemek için.
- Parametre 1 - Adrese erişiliyor.
- Parametre 2 - Geçersiz erişim gerçekleştiren kod.
- Parametre 3 - Özel durum kaydı. Görüntülemek için .exr kullanın.
- Parametre 4 - Bağlam kaydı. Görüntülemek için .cxr kullanın.
- Test Katmanı: Özel durum
- Durdurma Kimliği: FIRST_CHANCE_ACCESS_VIOLATION_CODE
- Durdurma kodu: 0x650
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Bu iş parçacığı havuzu iş parçacığının önceliği değiştirildi.
olası nedenibu durdurma, iş parçacığı havuzuna döndürülürken iş parçacığı önceliği değiştirilirse oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Biçim: - Geri Çağırma (%p) yürüten iş parçacığı havuzu iş parçacığının (%x) iş parçacığı önceliği değiştirildi (%i -> %i)
- Parametre 1 - Callback işlevi.
- Parametre 2 - Bağlam.
- Parametre 3 - Threadpool Nesne ayırma yığını izlemesi, dökümünü almak için dps kullanın.
- Parametre 4 - Geçerli Öncelik.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: INCONSISTENT_PRIORITY
- Durdurma kodu: 0x700
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Bu iş parçacığı havuzu iş parçacığının benintitesi değiştirildi.
olası nedenibu durdurma, iş parçacığı havuzuna geri döndürülürken iş parçacığı benzitesi değiştirilirse oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Biçim: Geri çağırma (%p) yürüten - threadpool iş parçacığının (%x) değiştirilmiş bir iş parçacığı benzite maskesi var (%p -> %p)
- Parametre 1 - Callback işlevi.
- Parametre 2 - Bağlam.
- Parametre 3 - Threadpool Nesne ayırma yığını izlemesi, dökümünü almak için dps kullanın.
- Parametre 4 - Geçerli benzite.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: INCONSISTENT_AFFINITY_MASK
- Durdurma kodu: 0x701
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Geçerli iş parçacığının msg havuzunda işlenmemiş msg.
olası nedeniBu iş parçacığı havuzu iş parçacığı döndürülürken herhangi bir ileti işlenmemiş olarak bırakılırsa bu durdurma oluşturulur. Tamamen farklı bir bağlamda işlenecek olması tehlikelidir. Bu iş parçacığına gönderilen iletileri görmek için lütfen !avrf -tp <Param4> kullanın.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Biçim: Geri Çağırma (%p) yürüten - threadpool iş parçacığı (%x) bekleyen pencere iletisine (%x: %x) sahiptir
- Parametre 1 - Callback işlevi.
- Parametre 2 - Bağlam.
- Parametre 3 - Threadpool Nesne ayırma yığını izlemesi, dökümünü almak için dps kullanın.
- Parametre 4 - threadpool iş parçacığı kimliği. Bu iş parçacığına gönderilen iletileri görmek için lütfen !avrf -tp <threadid> kullanın.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: ORPHANED_THREAD_MESSAGE
- Durdurma kodu: 0x702
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Kapatılmamış pencere geçerli iş parçacığına ait.
olası nedeniBu iş parçacığı havuzuna iş parçacığı döndürülürken herhangi bir pencere canlı tutulursa bu durdurma oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Biçim: - Geri Çağırma (%p) yürüten iş parçacığı havuzu iş parçacığı (%x), iletileri alabilen geçerli hwnd (%x: %s) içeriyor
- Parametre 1 - Callback işlevi.
- Parametre 2 - Bağlam.
- Parametre 3 - Threadpool Nesne ayırma yığını izlemesi, dökümünü almak için dps kullanın.
- Parametre 4 - threadpool iş parçacığı kimliği.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: ORPHANED_THREAD_WINDOW
- Durdurma kodu: 0x703
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
bir iş parçacığı havuzu iş parçacığında ExitThread() .
olası nedeniExitThread bir iş parçacığı havuzu iş parçacığında çağrılırsa bu durdurma oluşturulur. Sistemi kararsız hale getireceği için yasaktır. Kaynak sızıntısına, donmaya veya AV'ye neden olur.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Callback işlevi.
- Parametre 2 - Bağlam.
- Parametre 3 - Threadpool Nesne ayırma yığını izlemesi, dökümünü almak için dps kullanın.
- Parametre 4 - Kullanılmaz.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: ILLEGAL_THREAD_EXIT
- Durdurma kodu: 0x704
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
İş parçacığı bir iş parçacığı havuzu iş parçacığına döndürülürken iş parçacığı kimliğe bürünme durumundadır.
olası nedeniBu durdurma, geri çağırma işlevinin iş parçacığı belirtecini başka bir kullanıcının kimliğine bürünecek şekilde değiştirmesi ve iş parçacığı havuzuna geri döndürmeden önce sıfırlamayı unutması durumunda oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Callback işlevi.
- Parametre 2 - Bağlam.
- Parametre 3 - Threadpool Nesne ayırma yığını izlemesi, dökümünü almak için dps kullanın.
- Parametre 4 - Kullanılmaz.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: THREAD_IN_IMPERSONATION
- Durdurma kodu: 0x705
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Kalıcı iş parçacığı gerektiren bir işlev çağrılır.
olası nedeniBazı Microsoft Windows API'lerinin ayrılmış veya kalıcı bir iş parçacığı içinde çağrılması gerekir. İş parçacığı havuzu içinde genellikle iş parçacığı yerel depolaması kullanmaktan ve RegNotifyChangeKeyValue işlevi gibi kalıcı bir iş parçacığı gerektiren zaman uyumsuz çağrıları kuyruğa almaktan kaçınmalısınız. Ancak, bu tür işlevler WT_EXECUTEINPERSISTENTTHREAD seçeneğiyle QueueUserWorkItem kullanılarak kalıcı bir çalışan iş parçacığına kuyruğa alınabilir. Hata ayıklayıcıdaki bir KB, çağıranı gösterir.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Callback işlevi.
- Parametre 2 - Bağlam.
- Parametre 3 - Threadpool Nesne ayırma yığını izlemesi, dökümünü almak için dps kullanın.
- Parametre 4 - Kullanılmaz.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: PERSISTED_THREAD_NEEDED
- Durdurma kodu: 0x706
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
İş parçacığı kirli işlem durumunda.
olası nedeniGeri arama işlevi geçerli işlem tutamacını kapatmayı veya sıfırlamayı unutursa bu durdurma oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Callback işlevi.
- Parametre 2 - Bağlam.
- Parametre 3 - Threadpool Nesne ayırma yığını izlemesi, dökümünü almak için dps kullanın.
- Parametre 4 - Transaction Handle.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: DIRTY_TRANSACTION_CONTEXT
- Durdurma kodu: 0x707
- Önem Derecesi: Hatası
- Tek seferlik hata:
- Hata raporu: Kesme
- Dosyaya : evet
- Geri iz oluşturma: evet
Bu iş parçacığı havuzu durumu dengesiz CoInit ve CoUnInit çağrılarına sahip.
olası nedeniGeri çağırma işlevi CoInit ve CoUnInit dengesiz çağrıları durumunda bu durdurma oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen Bilgileri- Parametre 1 - Callback işlevi.
- Parametre 2 - Bağlam.
- Parametre 3 - Threadpool Nesne ayırma yığını izlemesi, dökümünü almak için dps kullanın.
- Parametre 4 - Dengeli Çağrı sayıları.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: DIRTY_COM_STATE
- Durdurma kodu: 0x708
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Zamanlayıcı nesnesinin parametreleri tutarsız. Süreölçer oluşturulurken WT_EXECUTEONLYONCE belirtildiğinde nokta 0 olmalıdır
Olası nedenSüreölçer WT_EXECUTEONLYONCE bayrağıyla yalnızca bir kez sinyal olarak ayarlandığında zamanlayıcıya sinyal verme süresi sıfır değilse bu durdurma oluşturulur
Uygulama Doğrulayıcı tarafından görüntülenen bilgiler- Parametre 1 - Dönem belirtildi.
- Parametre 2 - Bayraklar belirtildi.
- Parametre 3 - Kullanılmaz.
- Parametre 4 - Kullanılmaz.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: INCONSISTENT_TIMER_PARAMS
- Durdurma kodu: 0x709
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Yükleyici kilidi, geri çağırma içinde iş parçacığı havuzu iş parçacığı tarafından tutuldu.
Olası nedenBu durdurma, yükleyici kilidi geri çağırma içinde tutulursa oluşturulur ve iş parçacığı iş parçacığı havuzuna döndürülürken serbest bırakılmaz.
Uygulama Doğrulayıcı tarafından görüntülenen bilgiler- Parametre 1 - Callback işlevi.
- Parametre 2 - Bağlam.
- Parametre 3 - Threadpool Nesne ayırma yığını izlemesi, dökümünü almak için dps kullanın.
- Parametre 4 - Kullanılmaz.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: LOADER_LOCK_HELD
- Durdurma kodu: 0x70A
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Tercih edilen dil, geri çağırma içindeki iş parçacığı havuzu iş parçacığı tarafından ayarlanır.
Olası nedenBu durdurma, tercih edilen dil geri çağırma içinde ayarlanırsa oluşturulur ve iş parçacığı iş parçacığı havuzuna döndürülürken temizlenmez.
Uygulama Doğrulayıcı tarafından görüntülenen bilgiler- Parametre 1 - Callback işlevi.
- Parametre 2 - Bağlam.
- Parametre 3 - Threadpool Nesne ayırma yığını izlemesi, dökümünü almak için dps kullanın.
- Parametre 4 - Kullanılmaz.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: PREFERRED_LANGUAGES_SET
- Durdurma kodu: 0x70B
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Arka plan önceliği, geri çağırma içindeki iş parçacığı havuzu iş parçacığı tarafından ayarlanır.
Olası nedenArka plan önceliği geri çağırma içinde ayarlanırsa ve iş parçacığı iş parçacığı havuzuna döndürülürken devre dışı bırakılmadığında bu durdurma oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen bilgiler- Parametre 1 - Callback işlevi.
- Parametre 2 - Bağlam.
- Parametre 3 - Threadpool Nesne ayırma yığını izlemesi, dökümünü almak için dps kullanın.
- Parametre 4 - Kullanılmaz.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: BACKGROUND_PRIORITY_SET
- Durdurma kodu: 0x70C
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Bir iş parçacığı havuzu iş parçacığında TerminateThread() .
Olası nedenBu durdurma, bir iş parçacığı havuzu iş parçacığında TerminateThread çağrılırsa oluşturulur. Sistemi kararsız hale getireceği için yasaktır. Kaynak sızıntısına, donmaya veya AV'ye neden olur.
Uygulama Doğrulayıcı tarafından görüntülenen bilgiler- Parametre 1 - Kullanılmaz.
- Parametre 2 - Kullanılmaz.
- Parametre 3 - Kullanılmaz.
- Parametre 4 - Kullanılmaz.
- Test Katmanı: İş Parçacığı Havuzu
- Durdurma Kimliği: ILLEGAL_THREAD_TERMINATION
- Durdurma kodu: 0x70D
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Zaman uyumsuz G/Ç işlemi beklemede olduğunda yığın geri alındı.
Olası nedenBu durdurma, uygulama bir yığın değişkeni kullanan bir G/Ç işlemi verdiyse ve G/Ç'nin tamamlanmasını beklemediyse oluşturulur ve bu da yığın bozulmasına neden olur. Bu durakta hata ayıklamak için:
- G/Ç verilirken yığın izlemesini görüntülemek için dps <parameter4>. Parametre1, yığın tabanlı adresi ve parametre3 G/Ç'yi veren iş parçacığını gösterir.
- Parametre 1 - G/Ç'de kullanılan yığın değişkeninin adresi.
- Parametre 2 - Geçerli yığın işaretçisi.
- Parametre 3 - G/Ç'yi veren özgün iş parçacığı.
- Parametre 4 G/Ç verilirken - Stack İzleme.
- Test Katmanı: IO
- Durdurma Kimliği: ASYNCIO_STACK_UNWIND
- Durdurma kodu: 0x800
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Zaman uyumsuz G/Ç işlemi beklemede olduğunda yığın bozulmuştur.
Olası nedenBu durdurma, uygulama bir yığın değişkeni kullanan bir G/Ç işlemi verdiyse ve G/Ç'nin tamamlanmasını beklemediyse oluşturulur ve bu da yığın bozulmasına neden olur. Bu durakta hata ayıklamak için:
- G/Ç verilirken yığın izlemesini görüntülemek için dps <parameter4>. Parametre1, yığın tabanlı adresi ve parametre3 G/Ç'yi veren iş parçacığını gösterir.
- Parametre 1 - G/Ç'de kullanılan yığın değişkeninin adresi.
- Parametre 2 - Geçerli yığın işaretçisi.
- Parametre 3 - G/Ç'yi veren özgün iş parçacığı.
- Parametre 4 G/Ç verilirken - Stack İzleme.
- Test Katmanı: IO
- Durdurma Kimliği: ASYNCIO_CORRUPTED_STACK
- Durdurma kodu: 0x801
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Bekleyen G/Ç işleminde serbest bir adres kullanma.
Olası nedenBu durdurma, uygulama bir G/Ç işlemi verdiyse ve G/Ç tamamlanmadan önce G/Ç'de kullanılan belleği boşalttıysa oluşturulur ve bu da bellek bozulmasına vb. yol açar. Bu durakta hata ayıklamak için:
- dps <parameter4> - G/Ç verilirken yığın izlemesini görüntülemek için. Parametre1, G/Ç'de kullanılan adresi gösterir. Parametre2 serbest olan adresi ve parametre3 G/Ç'yi veren iş parçacığını gösterir.
- Parametre 1 - G/Ç'de kullanılan adres.
- Parametre 2 - Adres serbest.
- Parametre 3 - G/Ç'yi veren özgün iş parçacığı.
- Parametre 4 G/Ç verilirken - Stack İzleme.
- Test Katmanı: IO
- Durdurma Kimliği: FREED_ADDRESS_IN_PENDINGIO
- Durdurma kodu: 0x802
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
İlişkili G/Ç isteği hala beklemedeyken G/Ç durum bloğu (ÇAKIŞTIRILDI) yeniden kullanılır.
Olası nedenUygulama G/Ç durum bloğunu (ÇAKıŞAN) kullanan bir G/Ç isteği (ÇAKıŞAN) hala beklemedeyken G/Ç durum bloğunu (ÇAKıŞAN) yeniden kullandıysa bu durdurma oluşturulur. Bu durakta hata ayıklamak için:
- özgün G/Ç verilirken yığın izlemesini görüntülemek için dps <parametresi3>. Parametre1, G/Ç'de kullanılan adresi ve parametre2 G/Ç'yi veren iş parçacığını gösterir.
- Parametre 1 - G/Ç durum bloğunun adresi (ÇAKıŞAN).
- Parametre 2 - G/Ç'yi veren özgün iş parçacığı.
- Parametre 3 G/Ç verilirken - Stack İzleme.
- Parametre 4 - Kullanılmaz.
- Test Katmanı: IO
- Durdurma Kimliği: REUSED_IOSTATUS_BLOCK
- Durdurma kodu: 0x803
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Desteklenmeyen bir bayrak kullanarak CreateFile üzerinde FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
Olası nedenMSDN'nin eski sürümü, FILE_ATTRIBUTE_NOT_CONTENT_INDEXED destekleyen CreateFile dosyasını hatalı bir şekilde belgelemektedir. Bu bayrak amaçlanıyorsa SetFileAttributes gibi diğer API işlevleri kullanılarak ayarlanmalıdır.
- ln <parameter1> - CreateFile çağıranı bulmak için.
- Biçim: - %08x %08x %08x bayraklarla %hs%ws yazarken CreateFile
- Parametre 1 - Dönüş Adresi.
- Parametre 2 - Kullanılmaz.
- Parametre 3 - Kullanılmaz.
- Parametre 4 - Kullanılmaz.
- Test Katmanı: IO
- Durdurma Kimliği: USING_BAD_CREATEFILE_FLAG
- Durdurma kodu: 0x804
- Şiddet: Uyarı
- Tek seferlik hata:
- Hata raporu: Hiç kimse
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Yığın ayırması sızdırıldı.
Olası nedenBu durdurma, kaynaklara sahipken ayırmanın sahip dll'sinin dinamik olarak kaldırılması durumunda oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen bilgiler- Parametre 1 - Sızdırılan ayırmanın adresi. Ayırma hakkında ek bilgi almak için !heap -p -a <adresini> çalıştırın.
- Parametre 2 - Ayırma yığını izlemesinin adresi. Ayırma yığınını görüntülemek için dps <adresini> çalıştırın.
- Parametre 3 - Sahip dll adının adresi. Dll adını okumak için du <address> komutunu çalıştırın.
- Parametre 4 - Sahip dll'sinin tabanı. Sahip dll dosyasını yeniden yüklemek için .reload <dll_name> = <address> komutunu çalıştırın. Yüklenen ve kaldırılan modüller hakkında daha fazla bilgi edinmek için 'lm' kullanın.
- Test Katmanı: Sızıntı
- Durdurma Kimliği: AYIRMA
- Durdurma kodu: 0x900
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Tanıtıcı sızdırıldı.
Olası nedenBu durdurma, tanıtıcının sahip dll'i kaynaklara sahipken dinamik olarak kaldırıldıysa oluşturulur. Bu durağın hatalarını ayıklamak için: Tanıtıcı hakkında ek bilgi almak için !htrace parameter1 komutunu çalıştırın.
Uygulama Doğrulayıcı tarafından görüntülenen bilgiler- Parametre 1 - Sızdırılan tutamacın değeri. tanıtıcı izleme> etkinse tanıtıcı hakkında ek bilgi almak için !htrace <tutamacını çalıştırın.
- Parametre 2 - Ayırma yığını izlemesinin adresi. Ayırma yığınını görüntülemek için dps <adresini> çalıştırın.
- Parametre 3 - Sahip dll adının adresi. Dll adını okumak için du <address> komutunu çalıştırın.
- Parametre 4 - Sahip dll'sinin tabanı. Sahip dll dosyasını yeniden yüklemek için .reload <dll_name> = <address> komutunu çalıştırın. Yüklenen ve kaldırılan modüller hakkında daha fazla bilgi edinmek için 'lm' kullanın.
- Test Katmanı: Sızıntı
- Durdurma Kimliği: KULP
- Durdurma kodu: 0x901
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Bir HKEY sızdırıldı.
Olası nedenBu durdurma, kayıt defteri anahtarının sahip dll'i kaynaklara sahipken dinamik olarak kaldırıldıysa oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen bilgiler- Parametre 1 - Sızdırılan HKEY değeri.
- Parametre 2 - Ayırma yığını izlemesinin adresi. Ayırma yığınını görüntülemek için dps <adresini> çalıştırın.
- Parametre 3 - Sahip dll adının adresi. Dll adını okumak için du <address> komutunu çalıştırın.
- Parametre 4 - Sahip dll'sinin tabanı. Sahip dll dosyasını yeniden yüklemek için .reload <dll_name> = <address> komutunu çalıştırın. Yüklenen ve kaldırılan modüller hakkında daha fazla bilgi edinmek için 'lm' kullanın.
- Test Katmanı: Sızıntı
- Durdurma Kimliği: KAYIT DEFTERİ
- Durdurma kodu: 0x902
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Sanal rezervasyon sızdırıldı.
Olası nedenBu durdurma, sanal rezervasyonun sahip dll'i kaynaklara sahipken dinamik olarak kaldırıldıysa oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen bilgiler- Parametre 1 - Sızdırılan rezervasyon adresi.
- Parametre 2 - Ayırma yığını izlemesinin adresi. Ayırma yığınını görüntülemek için dps <adresini> çalıştırın.
- Parametre 3 - Sahip dll adının adresi. Dll adını okumak için du <address> komutunu çalıştırın.
- Parametre 4 - Sahip dll'sinin tabanı. Sahip dll dosyasını yeniden yüklemek için .reload <dll_name> = <address> komutunu çalıştırın. Yüklenen ve kaldırılan modüller hakkında daha fazla bilgi edinmek için 'lm' kullanın.
- Test Katmanı: Sızıntı
- Durdurma Kimliği: VIRTUAL_RESERVATION
- Durdurma kodu: 0x903
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
BSTR sızdırıldı.
Olası nedenBu durdurma, SysString'in sahip dll'i kaynaklara sahipken dinamik olarak kaldırıldıysa oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen bilgiler- Parametre 1 - Sızdırılan BSTR'nin adresi. Ayırma hakkında ek bilgi almak için !heap -p -a <adresini> çalıştırın.
- Parametre 2 - Ayırma yığını izlemesinin adresi. Ayırma yığınını görüntülemek için dps <adresini> çalıştırın.
- Parametre 3 - Sahip dll adının adresi. Dll adını okumak için du <address> komutunu çalıştırın.
- Parametre 4 - Sahip dll'sinin tabanı. Sahip dll dosyasını yeniden yüklemek için .reload <dll_name> = <address> komutunu çalıştırın. Yüklenen ve kaldırılan modüller hakkında daha fazla bilgi edinmek için 'lm' kullanın.
- Test Katmanı: Sızıntı
- Durdurma Kimliği: SYSSTRING
- Durdurma kodu: 0x904
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Güç bildiriminin kaydı kaldırılmadı.
Olası nedenBu durdurma, dll güç bildirimi için kaydedildiyse ve kaydı kaldırılmadan dinamik olarak kaldırıldıysa oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen bilgiler- Parametre 1 - Güç bildirimi kaydının adresi.
- Parametre 2 - Kayıt yığını izlemesinin adresi. Ayırma yığınını görüntülemek için dps <adresini> çalıştırın.
- Parametre 3 - Sahip dll adının adresi. Dll adını okumak için du <address> komutunu çalıştırın.
- Parametre 4 - Sahip dll'sinin tabanı. Sahip dll dosyasını yeniden yüklemek için .reload <dll_name> = <address> komutunu çalıştırın. Yüklenen ve kaldırılan modüller hakkında daha fazla bilgi edinmek için 'lm' kullanın.
- Test Katmanı: Sızıntı
- Durdurma Kimliği: POWER_NOTIFICATION
- Durdurma kodu: 0x905
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
COM ayırması sızdırıldı.
Olası nedenCom ayırmasının sahip dll'i kaynaklara sahipken dinamik olarak kaldırıldıysa bu durdurma oluşturulur.
Uygulama Doğrulayıcı tarafından görüntülenen bilgiler- Parametre 1 - Sızdırılan COM ayırmasının adresi. Ayırma hakkında ek bilgi almak için !heap -p -a <adresini> çalıştırın.
- Parametre 2 - Ayırma yığını izlemesinin adresi. Ayırma yığınını görüntülemek için dps <adresini> çalıştırın.
- Parametre 3 - Sahip dll adının adresi. Dll adını okumak için du <address> komutunu çalıştırın.
- Parametre 4 - Sahip dll'sinin tabanı. Sahip dll dosyasını yeniden yüklemek için .reload <dll_name> = <address> komutunu çalıştırın. Yüklenen ve kaldırılan modüller hakkında daha fazla bilgi edinmek için 'lm' kullanın.
- Test Katmanı: Sızıntı
- Durdurma Kimliği: COM_ALLOCATION
- Durdurma kodu: 0x906
- Şiddet: Hata
- Tek seferlik hata:
- Hata raporu: Kırmak
- Dosyaya oturum aç: evet
- Geri iz oluşturma: evet
Ayrıca Bkz.
Uygulama Doğrulayıcı - Durdurma Kodları ve Tanımlar
Uygulama Doğrulayıcı - Genel Bakış
Uygulama Doğrulayıcı - Özellikler
Uygulama Doğrulayıcı - Uygulamaları Test Etme
Uygulama Doğrulayıcı - Uygulama Doğrulayıcı içindeki testler
Uygulama Doğrulayıcı - Uygulama Doğrulayıcı Duraklarında Hata Ayıklama