Aracılığıyla paylaş


Tanı Hizmetleri

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

  • Tanılama Genel makroları

  • Genel tanı işlevleri ve değişkenleri

  • Tanılama işlevleri nesnesi

Bu makrolar ve işlevleri türetilen tüm sınıflar için kullanılabilir CObject mfc Debug ve Release sürümlerinde.Ancak, tümü DEBUG_NEW ve doğrulama sürümü bir şey yapın.

"Guard bytes" bir dizi bracketed Debug Kitaplığı'nda, tüm ayrılmış bellek blokları Bu bayt tarafından yalıtılarak bellek yazma erişimiyle olumsuz etkilenir, tanılama yordamları bir sorunu rapor edebilirsiniz.Satır içeriyorsa:

#define new DEBUG_NEW

Uygulama dosyanızdaki tüm çağrıları için Yeni burada yer aldı bellek ayırma dosya adı ve satır numarasını depolar.İşlev CMemoryState::DumpAllObjectsSince bellek sızıntılarını belirlemek için bu ek bilgiler görüntülenir.Ayrıca sınıfını ifade CDumpContext tanı çıktı hakkında ek bilgi için.

Buna ek olarak, c Çalışma Zamanı Kitaplığı kendi uygulamalarında hata ayıklamak için kullanabileceğiniz tanılama işlevleri kümesini de destekler.Daha fazla bilgi için Hata ayıklama yordamları Çalışma Zamanı Kitaplığı Başvurusu.

mfc genel tanı makrolar

ONAYLAMA İŞLEMİ

Bir ileti yazdırır ve belirtilen ifade olarak değerlendirilir, program iptal eder yanlış kitaplığı hata ayıklama sürümünde.

ASSERT_KINDOF

Bir nesnenin nesne belirtilen sınıf veya belirtilen sınıfından türetilmiş bir sınıf olan sınamaları.

ASSERT_VALID

Çağırarak nesnenin iç geçerliliğini sınar, AssertValid üye işlevi; genellikle tarafından geçersiz kılınmış CObject.

DEBUG_NEW

Bellek sızıntılarını bulmak için bir dosya adı ve satır numarası hata ayıklama modunda tüm nesne ayırmaları için sağlar.

DEBUG_ONLY

Benzer assert ; ifadenin değeri test değil ama hata ayıklama modunda yürütmesini kodu için kullanışlıdır.

İZLEME

Sağlar printf-Kütüphane hata ayıklama sürümünü yeteneği ister.

DOĞRULAYIN

Benzer assert , ancak hata ayıklama sürümünde de kitaplığı sürümü ifadesinde değerlendirir.

mfc genel tanı değişkenleri ve işlevleri

afxDump

Gönderen genel değişkeni CDumpContext hata ayıklayıcı output penceresi ya da hata ayıklama terminal bilgi.

afxMemDF

Hata ayıklama bellek ayırıcısı davranışını denetleyen genel değişkeni.

AfxCheckError

Geçirilen sınamak için kullanılan genel bir deðiþken scode , bir hata olduğunu ve böyle bir durumda, uygun hata atan, görmek için.

AfxCheckMemory

Bellek ayrılmış tüm bütünlüğünü denetler.

AfxDump

Hata ayıklayıcı çalışırken olarak adlandırılan, 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ı değil.

AfxEnableMemoryLeakDump

Bellek sızıntısı dökümü sağlar.

AfxEnableMemoryTracking

Bellek açıp izlemeyi etkinleştirir.

AfxIsMemoryBlock

Bir bellek bloğu düzgün tahsis edilmiş doğrular.

AfxIsValidAddress

Bellek adres aralığı programın 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 fonksiyonun arama sağlar.

mfc nesne tanı işlevleri

AfxDoForAllClasses

Tüm belirtilen işlev gerçekleştiren CObject-türetilmiş sınıfları, çalışma zamanı tür denetlemesi destekler.

AfxDoForAllObjects

Tüm belirtilen işlev gerçekleştiren CObject-ile ayrılmış nesneleri türetilmiş Yeni.

Ayrıca bkz.

Kavramlar

mfc makrolar ve Globals