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.
bir işlemin yığın ayırmalarını yakalamak için User-Mode Döküm Yığınını (UMDH) kullanmadan önce bu bölümde açıklanan yapılandırma görevlerini tamamlamanız gerekir. Bilgisayar doğru yapılandırılmamışsa, UMDH herhangi bir sonuç oluşturmaz veya sonuçlar eksik veya yanlış olur.
Kullanıcı modu yığın izleme veritabanını oluşturma
Bir işlemin yığın ayırmalarını yakalamak için UMDH'yi kullanmadan önce Windows'u yığın izlemelerini yakalayacak şekilde yapılandırmanız gerekir.
Bir işlem için yığın izleme yakalamayı etkinleştirmek için GFlags kullanarak işlem için Kullanıcı modu yığın izleme veritabanı oluştur bayrağını ayarlayın. Bu, aşağıdaki yöntemlerden biri tarafından yapılabilir:
GFlags grafik arabiriminde Görüntü Dosyası sekmesini seçin. Dosya adı uzantısı da dahil olmak üzere işlem adını yazın (örneğin, Notepad.exe). SEKME tuşuna basın, Kullanıcı modu yığın izleme veritabanı oluştur'u ve ardından Uygula'yı seçin.
Alternatif olarak aşağıdaki GFlags komut satırını da kullanabilirsiniz; burada ImageName işlem adıdır (dosya adı uzantısı dahil):
gflags /iImageName+ust
Varsayılan olarak, Windows'un topladığı yığın izleme verilerinin miktarı x86 işlemcide 32 MB ve x64 işlemcide 64 MB ile sınırlıdır. Bu veritabanının boyutunu artırmanız gerekiyorsa GFlags grafik arabiriminde Görüntü Dosyası sekmesini seçin, işlem adını yazın, SEKME tuşuna basın, Yığın Arka İzleme (Megs) onay kutusunu işaretleyin, ilişkili metin kutusuna bir değer (MB cinsinden) yazın ve Uygula'yı seçin.
Not Sınırlı Windows kaynaklarının kullanımdan kaldırılma olasılığı nedeniyle bu veritabanını yalnızca gerektiğinde artırın. Artık daha büyük boyuta ihtiyacınız kalmadığında, bu ayarı özgün değerine döndürebilirsiniz.
Bu ayarlar programın tüm yeni örneklerini etkiler. Programın şu anda çalışan örneklerini etkilemez.
Gerekli Simgelere Erişme
UMDH'yi kullanmadan önce, uygulamanız için uygun sembollere erişiminiz olmalıdır. UMDH, _NT_SYMBOL_PATH ortam değişkeni tarafından belirtilen sembol yolunu kullanır. Bu değişkeni uygulamanızın simgelerini içeren bir yola eşit olarak ayarlayın.
Windows simgelerinin yolunu da eklerseniz analiz daha eksiksiz olabilir. Bu simge yolunun söz dizimi, hata ayıklayıcısı tarafından kullanılanla aynıdır; Ayrıntılar için bkz . Sembol Yolu.
Örneğin, uygulamanızın simgeleri C:\MyApp\Symbols konumundaysa ve \\myshare\winsymbols dizinine Windows sembol dosyalarını yüklediyseniz, simge yolunuzu ayarlamak için aşağıdaki komutu kullanırsınız:
set _NT_SYMBOL_PATH=c:\myapp\symbols;\\myshare\winsymbols
Başka bir örnek olarak, uygulamanızın simgeleri C:\MyApp\Symbols konumundaysa ve aşağı akış deponuz olarak C:\MyCache kullanarak Windows sembolleriniz için genel Microsoft sembol deposunu kullanmak istiyorsanız, simge yolunuzu ayarlamak için aşağıdaki komutu kullanırsınız:
set _NT_SYMBOL_PATH=c:\myapp\symbols;srv*c:\mycache*https://msdl.microsoft.com/download/symbols
Önemli İki bilgisayarınız olduğunu varsayalım: UMDH günlüğü oluşturduğunuz bir günlük bilgisayarı ve UMDH günlüğünü analiz ettiğiniz bir analiz bilgisayarı . Çözümleme bilgisayarınızdaki sembol yolu, log oluşturulduğu sırada kayıt bilgisayarına yüklenen Windows sürümüne ait sembollere işaret etmelidir. Çözümleme bilgisayarındaki sembol yolunu bir sembol sunucusuna işaret etmeyin. Bunu yaparsanız, UMDH analiz bilgisayarında çalışan Windows sürümü için sembolleri alır ve UMDH anlamlı sonuçlar görüntülemez.
BSTR Önbelleğe Almayı Devre Dışı Bırak
Otomasyon (eski adıYLA OLE Otomasyonu), BSTR dizeleri tarafından kullanılan belleği önbelleğe alır. Bu, UMDH'nin bellek ayırmanın sahibini doğru şekilde belirlemesini engelleyebilir. Bu sorunu önlemek için BSTR önbelleğini devre dışı bırakmanız gerekir.
BSTR önbelleğini devre dışı bırakmak için OANOCACHE ortam değişkenini bir (1) değerine eşit olarak ayarlayın. Ayırmaları izlenecek uygulamayı başlatmadan önce bu ayar yapılmalıdır.
Alternatif olarak, .NET Framework SetNoOaCache işlevini çağırarak BSTR önbelleğini uygulamanın içinden devre dışı bırakabilirsiniz. Bu yöntemi seçerseniz, SetNoOaCache çağrıldığında önceden önbelleğe alınmış olan BSTR ayırmaları önbelleğe alınmış olarak kalacağından bu işlevi erken çağırmalısınız.
Bir hizmet tarafından yapılan ayırmaları izlemeniz gerekiyorsa, bu ayarın etkili olması için OANOCACHE'yi bir sistem ortam değişkeni olarak ayarlamanız ve ardından Windows'u yeniden başlatmanız gerekir.
İşlem Kimliğini Bulma
UMDH, işlemi işlem tanımlayıcısı (PID) ile tanımlar. Görev Yöneticisi, Görev Listesi veya TList kullanarak çalışan tüm işlemlerin PID'sini bulabilirsiniz.