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.
Logger'ı etkinleştirmenin bir yolu, CDB veya WinDbg'yi başlatmak ve her zamanki gibi kullanıcı modu hedef uygulamasına eklemektir. Ardından !logexts.logi veya !logexts.loge extension komutunu kullanın.
Bu, mevcut kesme noktasına, hedef uygulama sürecinde Logexts.dll'ı yükleyip başlatacak bir rutin içine atlayacak kodu ekler. Buna "hedef uygulamaya günlükçü ekleme" denir.
Bu modül hem hata ayıklayıcı uzantısı DLL'si hem de hedef uygulamaya eklenen program olduğundan, çalışan iki Logexts.dll örneği olacaktır. Logexts.dll hata ayıklayıcısı ve hedef örnekleri, paylaşılan bir bellek bölümü aracılığıyla, çıktı dosyası tanıtıcıları, geçerli kategori maskesi ve günlük çıkış arabelleği işaretçisini içeren bir şekilde iletişim kurar.
Hedef Uygulamaya Ekleme
Hata ayıklayıcıyı hedef uygulamaya bağlama hakkında bilgi için WinDbg Kullanarak User-Mode İşlemi Hata Ayıklama veya CDB Kullanarak User-Mode İşlemi Hata Ayıklama bölümüne bakın.
Loglayıcı Uzantısı Komutlarını Kullanma
Her uzantının tam söz dizimi için başvuru sayfasına bakın.
!logexts.logi
Günlükçü'leri hedef uygulamaya ekler. Bu, günlüğü başlatır, ancak etkinleştirmez.
!logexts.loge
Günlüğe kaydetmeyi etkinleştirir.
!logexts.logi kullanılmadıysa, bu uzantı başlatılır ve günlüğe kaydetmeyi etkinleştirir.
!logexts.logd
Günlüğe kaydetmeyi devre dışı bırakır. Bu, programın serbestçe çalışmasına izin vermek için tüm API kancalarının kaldırılmasına neden olur. COM kancaları, istedikleri zaman yeniden etkinleştirilemediği için kaldırılmaz.
!logexts.logo
Çıkış seçeneklerini görüntüler veya değiştirir. Üç tür çıkış mümkündür: doğrudan hata ayıklayıcıya, metin dosyasına veya .lgv dosyasına gönderilen iletiler. .lgv dosyası diğer iki dosyadan çok daha fazla bilgi içerir; LogViewer ile okunabilir.
Metin dosyası çıkışını devre dışı bırakırsanız, sıfır boyutunda bir .txt dosyası oluşturulmaya devam eder. Bu, aynı konumda daha önce kaydedilmiş bir metin dosyasının üzerine yazabilir.
!logexts.logc
Kullanılabilir API kategorilerini görüntüler, hangi kategorilerin günlüğe kaydedileceğini ve hangilerinin kaydedilmeyeceğini denetler ve herhangi bir kategoride yer alan API'leri görüntüler.
Bir kategori devre dışı bırakılırsa, bu kategorideki tüm API'lerin kancaları kaldırılır ve böylece artık herhangi bir performans yükü kalmaz. COM kancaları, istedikleri zaman yeniden etkinleştirilemediği için kaldırılmaz.
Yalnızca belirli kategorilerin etkinleştirilmesi, yalnızca programın Windows ile sahip olduğu belirli bir etkileşim türüyle (örneğin, dosya işlemleri) ilgilendiğinizde yararlı olabilir. Bu, günlük dosyasının boyutunu azaltır ve ayrıca Günlükçü'ün işlemin yürütme hızı üzerindeki etkisini azaltır.
!logexts.logb
Geçerli çıkış arabelleğini görüntüler veya temizler. Performans açısından, günlük verileri yalnızca çıkış arabelleği dolduğunda diske yazılır. Varsayılan olarak, arabellek 2144 bayttır.
Arabellek belleği hedef uygulama tarafından yönetildiğinden, hedef uygulamada bir erişim ihlali veya başka bir kurtarılamaz hata olduğunda diskteki günlük dosyalarına arabelleğin otomatik olarak yazılması gerçekleşmez. Böyle durumlarda, bu komutu kullanarak arabelleği diske el ile temizlemeniz gerekir, aksi halde en son günlüğe kaydedilen API'ler günlük dosyalarında görünmeyebilir.
!logexts.logm
Modül ekleme/dışlama listesi görüntüler veya oluşturur. Genellikle yalnızca belirli bir modülden veya modül kümesinden yapılan API çağrılarını günlüğe kaydetmek tercih edilir. Bunu kolaylaştırmak için Logger bir modül dahil etme listesi veya alternatif olarak bir modül hariç tutma listesi belirtmenize izin verir. Örneğin, yalnızca bir veya iki modülden gelen çağrıları günlüğe kaydetmek istiyorsanız bir ekleme listesi kullanabilirsiniz. Kısa bir modül listesi dışında tüm modüllerden yapılan çağrıları günlüğe kaydetmek istiyorsanız, bir dışlama listesi kullanırsınız. Logexts.dll ve Kernel32.dll modülleri her zaman dışlanır, çünkü Günlükçü'nin kendisini günlüğe kaydetmesine izin verilmez.