Hata Ayıklama Yordamları

C Çalışma Zamanı Kitaplığı'nın hata ayıklama sürümü hata ayıklama programları kolaylaştırmak ve geliştiriciler için izin veren çok sayıda tanı hizmetleri sağlar:

  • Adımla doğrudan hata ayıklama sırasında çalışma zamanı işlevleri

  • Onayları, hatalar ve özel durumlar çözmek

  • Yığın ayırma işlemleri izlemek ve bellek sızıntılarını önlemek

  • Kullanıcı rapor hata ayıklama iletileri

Bu yordamlar kullanmak için _DEBUG bayrağı tanımlanmalıdır.Bu yordamlar tüm perakende yapıda bir uygulamanın hiçbir şey yapmayabilir.Yeni hata ayıklama yordamları kullanma hakkında daha fazla bilgi için bkz: CRT hata ayıklama teknikleri.

Hata ayıklama sürümleri C çalışma zamanı kitaplığı yordamları

Yordam

Kullan

.NET Framework eşdeğeri

_ASSERT

İfade değerlendirme ve sonucu FALSE olduğunda bir hata ayıklama rapor oluşturur.

System::Diagnostics::Debug:: onaylama işlemi

_ASSERTE

Benzer şekilde _ASSERT, ancak oluşturulan rapora başarısız ifade içerir

System::Diagnostics::Debug:: onaylama işlemi

_CrtCheckMemory

Hata ayıklama yığında ayrılmış bellek blokları bütünlüğünü doğrulayın

System::Diagnostics::PerformanceCounter

_CrtDbgBreak

Bir kesme noktası ayarlar.

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtDbgReport, _CrtDbgReportW

Kullanıcı iletisi ile hata ayıklama rapor oluşturmaya çalışır ve raporu göndermek için üç olası hedefleri

System::Diagnostics::Debug::Write, System::Diagnostics::Debug::Writeline, System::Diagnostics::Debug::WriteIf, System::Diagnostics::Debug::WriteLineIf

_CrtDoForAllClientObjects

Tüm bir uygulama tarafından sağlanan işlev çağrısı _CLIENT_BLOCK öbek üzerindeki türleri

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtDumpMemoryLeaks

Tüm hata ayıklama yığınındaki bellek blokları önemli bellek sızıntısı oluştuğunda dökümü

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtIsMemoryBlock

Belirtilen bellek bloğu yerel yığında bulunduğunu ve geçerli hata ayıklama yığın blok türü tanımlayıcısı olduğunu doğrulayın

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtIsValidHeapPointer

Belirtilen bir işaretçi yerel yığın içinde olduğunu doğrular

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtIsValidPointer

Belirtilen bellek aralığı okuma ve yazma için geçerli olduğunu doğrulayın

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtMemCheckpoint

Hata ayıklama yığın geçerli durumunu elde etmek ve bir uygulama tarafından sağlanan içinde saklayın _CrtMemState yapısı

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtMemDifference

İki bellek durumu arasında önemli farklar için karşılaştırmak ve sonuçlar döndürebilir

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtMemDumpAllObjectsSince

Belirtilen denetim noktası alındığından beri yýðýnda ya da program yürütme başlangıcı nesneler hakkında bilgi dökümü

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtMemDumpStatistics

Kullanıcı tarafından okunabilen bir formda belirtilen bellek durumu için hata ayıklama üstbilgi bilgileri dökümü

System::Diagnostics::PerformanceCounter

_CrtReportBlockType

Blok türü/verilen hata ayıklama yığın blok işaretçisi ile ilişkili alt döndürür.

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtSetAllocHook

C çalışma zamanı hata ayıklama bellek ayırma işlemine takma tarafından bir istemci tarafından tanımlanan tahsisat işlevini yükle

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtSetBreakAlloc

Belirtilen nesne ayırma sipariş numaralarında bir kesme noktası ayarlamak

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtSetDbgFlag

Almak veya durumunu değiştirme _crtDbgFlag hata ayıklama yığın yöneticisinin ayırma davranışını denetlemek için bayrak

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtSetDumpClient

Dökümünü almak için bir hata ayıklama dökümü işlevi çağrılır her zaman olarak adlandırılan bir uygulama tanımlı işlev yüklemek _CLIENT_BLOCK bellek blokları

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtSetReportFile

Akış tarafından belirli bir rapor türü için bir hedef olarak kullanılacak tanımlamak_CrtDbgReport

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtSetReportHook

Raporlama işleminin C çalışma zamanı debug takma tarafından istemci tarafından tanımlanan Raporlama işlevini yüklemek

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtSetReportHook2, _CrtSetReportHookW2

Yükler veya işlem raporlama C çalışma zamanı debug takma tarafından istemci tarafından tanımlanan raporlama işlevi kaldırır.

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_CrtSetReportMode

Genel destination(s) tarafından oluşturulan bir özel rapor türü belirtin_CrtDbgReport

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_RPT [0,1,2,3,4]

Uygulamanın hata ayıklama raporu oluşturarak çağırarak izlemek _CrtDbgReport bir biçim dizesi ve sayılarda bağımsız değişken.Hiçbir kaynak dosyası ve satır numarası bilgilerini sağlar.

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_RPTF [0,1,2,3,4]

Benzer şekilde _RPTn makrolar, ancak raporu isteği başlatıldığı kaynak dosya adı ve satır numarası sağlar

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_calloc_dbg

Bellek blokları yığınındaki ek alan ile belirtilen sayıda ayırmak için hata ayıklama başlığı ve arabellekleri üzerine

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_expand_dbg

Belirtilen bir yığında bellek bloğunu genişletme veya blok ile sözleşme yeniden boyutlandır

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_free_dbg

Bir yığında bellek bloğu serbest

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_fullpath_dbg, _wfullpath_dbg

Bir mutlak veya tam yol adı belirtilen göreli yol oluşturma kullanarak ad _malloc_dbg bellek ayrılamıyor.

System::IO::File:: oluşturun

_getcwd_dbg, _wgetcwd_dbg

Geçerli çalışma dizini Al kullanarak _malloc_dbg bellek ayrılamıyor.

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_malloc_dbg

Hata ayıklama başlığı için ek alan ile yığınındaki bellek bloğunu ayırmak ve arabellekleri üzerine

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_msize_dbg

Bir yığında bellek bloğu boyutunu hesaplamak

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_realloc_dbg

Belirtilen bir yığında bellek bloğu ve/taşıma veya yeniden boyutlandırma blok tarafından yeniden tahsis

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

_strdup_dbg, _wcsdup_dbg

Yineleyen bir dize kullanarak _malloc_dbg bellek ayrılamıyor.

System::String::Clone

_tempnam_dbg, _wtempnam_dbg

Geçici dosyaları oluşturmak için kullanabileceğiniz kullanarak adları oluşturmak _malloc_dbg bellek ayrılamıyor.

Uygulanamaz.Standart C işlevini çağırmak için PInvoke kullanın.Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

Hata ayıklama yordamlar kullanılabilir diğer C çalışma zamanı yordamları hata ayıklama işlemi sırasında çoğu için kaynak kod boyunca adım adım için.Ancak, Microsoft bazı teknoloji özel olarak nitelendirir ve bu nedenle, bu yordamlar için kaynak kodunu sağlamaz.Çoğu Bu yordamlar, özel durum işleme veya kayan noktalı işlem gruplarına ait, ancak birkaç diğerleri de dahil edilir.Bu yordamlar aşağıdaki tabloda listelenmektedir.

Kaynak kodu formunda kullanılamaz C çalışma zamanı yordamları

acos, acosf, acosl

_fpclass

_nextafter

asin

_fpieee_flt

POW

atan, atan2

_fpreset

printf, _printf_l, wprintf, _wprintf_l, printf_s, _printf_s_l, wprintf_s, _wprintf_s_l*

_cabs

frexp

_scalb

ceil

_hypot

scanf, _scanf_l, wscanf, _wscanf_l, scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l*

_chgsign, _chgsignf, _chgsignl

_isnan

setjmp

_clear87, _clearfp

_j0

sin

_control87, _controlfp, __control87_2

_j1

sinh

copysign, copysignf, copysignl, _copysign, _copysignf, _copysignl

_jn

sqrt

cos

ldexp

_status87, _statusfp

cosh

log

tan

Exp

log10

tanh

fabs

_logb

_y0

_finite

longjmp

_y1

floor

_matherr

_yn

fmod

modf

 

* Rağmen bu yordam çoğu için kullanılabilir kaynak kodu kaynak kodu sağlanmayan bir başka bir yordama dahili bir çağrı yapar.

Bazı C çalışma zamanı işlevlerini ve C++ işleçler, bir uygulamanın hata ayıklama yapıdan çağrıldığında farklı davranır. (Bir uygulamanın hata ayıklama yapı ya da tanımlayarak yapılabilir Not _DEBUG göre C çalışma zamanı kitaplığı hata ayıklama sürümü ile bağlama ya da bayrak.) Davranış farklılıkları ek özellikler veya hata ayıklama işlemini desteklemek için yordamı tarafından sağlanan bilgileri genellikle oluşur.Bu yordamlar aşağıdaki tabloda listelenmektedir.

Bir uygulama bir hata ayıklama içinde belirlenenlerden farklı davranır yordamları oluşturmak

C İptal yordamına girildi

C++ Sil işleci

C onaylama yordamına girildi

C++ Yeni işleci

Ayrıca bkz.

Başvuru

Kategorilere Göre Çalışma Zamanı Yordamları

Çalışma Zamanı Hata Denetimi