Tanı Hizmetleri

Microsoft Foundation Class Library programlarınızın daha kolay hata ayıklama yapmak birçok Tanı hizmetleri sağlamaz. Bu teşhis Hizmetleri, makroları ve Tahsisatlar, çalıştırma süresinde nesnelerin içeriğini dökümü ve hata ayıklama iletilerini çalışma zamanında yazdırmayı programınızın bellek izlemenize olanak küresel işlevler içerir. Makroları ve Tanı hizmetleri küresel işlevler aşağıdaki kategorilere gruplandırılmıştır:

Bu makrolar ve işlevleri mfc Debug ve yayın sürümlerinde CObject türetilmiş tüm sınıflar için kullanılabilir. Ancak, tüm debug_new ve doğrulama dışında hiçbir sürümünde yapmak.

Hata ayıklama Kitaplığı'nda, tüm ayrılmış bellek blokları "bekçi bayt." serisiyle getirmekte Bu bayt bir serseri bellek yazma tarafından rahatsız varsa, tanılama yordamları sorun bildirebilirsiniz. Satır eklerseniz

# define yeni debug_new

uygulama dosyanızdaki tüm aramalar için Yeni bellek ayırma gerçekleştiği dosya ismi ve satır numarasını depolar. CMemoryState::DumpAllObjectsSince işlevi bellek sızıntılarını belirlemek izin bu ilave bilgiler, görüntüler. Ayrıca tanılama çıktı hakkında ek bilgi için CDumpContext sınıfı bakın.

Ayrıca c Çalışma Zamanı Kütüphanesi de kendi uygulamalarında hata ayıklamak için kullanabileceğiniz tanılama işlevleri kümesi destekler. Daha fazla bilgi için bkz: Hata ayıklama yordamları Çalıştırma Kitaplığı Başvurusu.

Mfc genel teşhis makrolar

ONAYLAMA İŞLEMİ Bir ileti yazdırır ve kütüphane hata ayıklama sürümünü belirtilen ifade yanlış olarak değerlendirilirse programı iptal eder.
ASSERT_KINDOF Bir nesnenin nesne belirtilen sınıf veya belirtilen sınıfından türetilmiş bir sınıf olan testler.
ASSERT_VALID AssertValid üye işlevini çağırarak nesnenin iç geçerliliğini sınar; genellikle CObject geçersiz kılındı.
DEBUG_NEW Bellek sızıntılarını bulmanıza yardımcı olmak için bir dosya adı ve satır numarası tüm nesne boyut hata ayıklama modunda temini.
İZLEME Printfsağlar-beğenmek Kütüphane hata ayıklama sürümünü yeteneği.
TRACE0 İz sürer ama benzer bir biçimde dize bağımsız değişkeni ile.
TRACE1 İz sürer ama benzer bir biçimde dize ile tek bir bağımsız değişken.
TRACE2 İz sürer ama benzer bir biçimde dize iki ba?ymsyz de?i?kenle.
TRACE3 İz sürer ama benzer bir biçimde dize ile üç bağımsız değişken.
DOĞRULAYIN assert benzer ama sürümü kütüphane yanı olarak hata ayıklama sürümünü ifade olarak değerlendirilir.

Mfc genel teşhis değişkenleri ve işlevleri

afxDump Hata ayıklayıcı output penceresi veya hata ayıklama terminale CDumpContext bilgilerini gönderen global değişken.
afxMemDF Hata ayıklama bellek ayırıcı davranışını denetleyen global değişken.
afxTraceEnabled Genel değişkeni, etkinleştirmek veya izleme makro çıktısını devre dışı bırakmak için kullanılır.
afxTraceFlags Mfc yerleşik raporlama özelliklerini etkinleştirme için kullanılan genel değişkeni.
AfxCheckError Global değişken, geçirilen sınamak için kullanılan bir hata varsa ve eğer öyleyse, scode uygun hata atar.
AfxCheckMemory Tüm bütünlüğünü şu anda ayrılmış bellek denetler.
AfxDump Hata Ayıklayıcı ise çağrılırsa bir nesnenin durumunu ayıklarken döker.
AfxDumpStack Geçerli yığın görüntüsünü oluşturur. Bu işlev her zaman statik olarak bağlı olduğu.
AfxEnableMemoryTracking Bellek ve izleme kapatır.
AfxIsMemoryBlock Bir bellek bloğu düzgün tahsis edilmiş doğrular.
AfxIsValidAddress Bir bellek adresi aralığı program sınırları içinde olduğunu doğrular.
AfxIsValidString Bir dize işaretçisi geçerli olup olmadığını belirler.
AfxSetAllocHook Her bellek ayırma bir işlevi arama sağlar.

Mfc nesne tanılama işlevleri

AfxDoForAllClasses Tüm CObjectüzerinde belirtilen işlev gerçekleştirir-türetilmiş sınıflar, çalışma zamanı tür denetlemesi destekleyen.
AfxDoForAllObjects Tüm CObjectüzerinde belirtilen işlev gerçekleştirir- Yeni ile ayrılan nesneleri elde.

Index