Aracılığıyla paylaş


Hata Ayıklayıcı Uzantısı Komutlarını Kullanma

Hata ayıklayıcı uzantısı komutlarının kullanımı, hata ayıklayıcı komutlarının kullanımına çok benzer. Komut, Hata Ayıklayıcısı Komut penceresine yazılır ve bu pencerede çıkış oluşturulur ya da hedef uygulamada veya hedef bilgisayarda bir değişiklik oluşturulur.

Gerçek bir hata ayıklayıcı uzantısı komutu, hata ayıklayıcısı tarafından çağrılan dll'deki bir giriş noktasıdır.

Hata ayıklayıcısı uzantıları aşağıdaki söz dizimi tarafından çağrılır:

[modül.]uzantı[argümanlar]

Modül adı, .dll dosya adı uzantısıyla izlenmemelidir. Modül tam yol içeriyorsa, varsayılan dize boyutu sınırı 255 karakterdir.

Modül henüz yüklenmemişse , LoadLibrary(modül) çağrısı kullanılarak hata ayıklayıcıya yüklenir. Hata ayıklayıcı uzantı kitaplığını yükledikten sonra, uzantı modülünde uzantı adını bulmak için GetProcAddress işlevini çağırır. Uzantı adı büyük/küçük harfe duyarlıdır ve uzantı modülünün .def dosyasında göründüğü şekilde girilmelidir. Uzantı adresi bulunursa uzantı çağrılır.

Arama Sırası

Modül adı belirtilmezse, hata ayıklayıcı bu dışarı aktarma için yüklenen uzantı modüllerini arar.

Varsayılan arama sırası aşağıdaki gibidir:

  1. Tüm işletim sistemleriyle ve her iki modda da çalışan uzantı modülleri: Dbghelp.dll ve winext\ext.dll.

  2. Tüm modlarda çalışan ancak işletim sistemine özgü olan uzantı modülü. Windows XP ve Windows'un sonraki sürümleri için, bu winxp\exts.dll' dir.

  3. Tüm işletim sistemleriyle çalışan ancak moda özgü olan uzantı modülü. Çekirdek modu için bu, winext\kext.dll'dır. Kullanıcı modunda bu, winext\uext.dll'dır.

  4. Hem işletim sistemine hem de moda özgü uzantı modülü. Aşağıdaki tabloda bu modül belirtildi.

Kullanıcı Modu Çekirdek Modu
winxp \ ntsdexts.dll winxp \ kdexts.dll

Bir uzantı modülü kaldırıldığında, arama zincirinden çıkartılır. Bir uzantı modülü yüklendiğinde, arama sırasının başına eklenir. .setdll (Varsayılan Uzantı DLL'sini Ayarla) komutu, herhangi bir modülü arama zincirinin en üstüne yükseltmek için kullanılabilir. Bu komutu tekrar tekrar kullanarak arama zincirini tamamen denetleyebilirsiniz.

Yüklenen tüm uzantı modüllerinin listesini geçerli arama sıralarında görüntülemek için .chain (List Debugger Extensions) komutunu kullanın.

Yüklenen uzantı modüllerinden hiçbirinde yer almayan bir uzantı komutu yürütmeye çalışırsanız, Dışarı Aktarma Bulunamadı hata iletisi alırsınız.