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 |
---|---|---|
İfade değerlendirme ve sonucu FALSE olduğunda bir hata ayıklama rapor oluşturur. |
||
Benzer şekilde _ASSERT, ancak oluşturulan rapora başarısız ifade içerir |
||
Hata ayıklama yığında ayrılmış bellek blokları bütünlüğünü doğrulayın |
||
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. |
|
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 |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
İ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. |
|
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. |
|
Kullanıcı tarafından okunabilen bir formda belirtilen bellek durumu için hata ayıklama üstbilgi bilgileri dökümü |
||
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
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. |
|
Bir mutlak veya tam yol adı belirtilen göreli yol oluşturma kullanarak ad _malloc_dbg bellek ayrılamıyor. |
||
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. |
|
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. |
|
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. |
|
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. |
|
Yineleyen bir dize kullanarak _malloc_dbg bellek ayrılamıyor. |
||
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ı
* 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 |