Yordamlar hata ayıklama
c Çalışma Zamanı Kitaplığı hata ayıklama sürümünü, hata ayıklama programları kolaylaştırmak ve geliştiriciler için izin veren birçok tanı hizmetleri sunar:
Step Into hata ayıklama sırasında çalışma zamanı işlevlerini doğrudan
Onaylamaları, hatalarý ve özel durumlarý çözmek
Yığın ayırma işlemleri izlemek ve bellek sızıntılarını önlemek
Kullanıcıya rapor hata ayıklama iletileri
Bu yordamları kullanmak için _debug bayrağı tanımlanmalı. Bu yordamlar tüm perakende oluşturma bir uygulamanın içinde hiçbir şey yapmayabilir. Yeni hata ayıklama yordamları kullanma hakkında daha fazla bilgi için bkz: crt hata ayıklama teknikleri.
c Çalışma Zamanı Kitaplığı yordamları sürümleri debug
Yordamı |
Kullan |
.net Framework eşdeğeri |
---|---|---|
Bir ifade değerlendirmek 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 öbek üzerinde ayrılan bellek bloklarını bütünlüğünü doğrulayın |
||
Bir kesme noktası ayarlar. |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Kullanıcı iletiyi bir hata ayıklama raporu oluşturmak ve rapor göndermek için üç olası hedefleri |
System::Diagnostics::Debug::Write, System::Diagnostics::Debug::Writeline, System::Diagnostics::Debug::WriteIf, System::Diagnostics::Debug::WriteLineIf |
|
Tüm uygulama tarafından sağlanan bir işlev çağrısı _CLIENT_BLOCK öbek üzerindeki türleri |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Önemli bir bellek sızıntısı oluştuğunda tüm hata ayıklama öbek üzerindeki bellek bloklarını dökümü |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Belirtilen bellek bloğu yerel yığın içinde bulunduğunu ve geçerli hata ayıklama öbek blok türü tanımlayıcısı olduğunu doğrulayın |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Belirtilen bir işaretçi yerel yığın içinde olduğunu doğrular |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. 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 |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Hata ayıklama öbek geçerli durumunu elde etmek ve bir uygulama tarafından sağlanan içinde saklamak _CrtMemState yapısı |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Önemli farklılıklar için iki bellek durumlarını karşılaştırmak ve sonuçları |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. 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şından nesneler hakkında bilgi dökümü |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Kullanıcı tarafından okunabilen bir formda belirtilen bellek durumu hata ayıklama üstbilgi bilgileri dökümü |
||
Blok türü/belirli hata ayıklama öbek blok işaretçisi ile ilişkili alt döndürür. |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
c çalışma zamanı hata ayıklama bellek ayırma işlemine ArrayList'in bağlanarak bir istemci tarafından tanımlanan tahsisat işlevini yüklemek |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Belirtilen nesne ayırma sipariş numaralarında bir kesme noktası ayarlamak |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Almak veya durumunu değiştirmek _crtDbgFlag hata ayıklama yığın yöneticisinin ayırma davranışını denetlemek için bayrak |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Döküm için bir hata ayıklama dökümü işlevi çağrılır her zaman çağırılan uygulama tanımlı işlev yüklemek _CLIENT_BLOCK bellek blokları |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Özel rapor türüne göre bir hedef olarak kullanılacak akışı tanımlamak_CrtDbgReport |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
İşlem bildirimi c çalışma zamanı hata ayıklama takma istemci tanımlı Raporlama işlevini yüklemek |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Yükler veya işlem bildirimi c çalışma zamanı hata ayıklama takma istemci tanımlı raporlama işlevi kaldırır. |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Genel destination(s) tarafından oluşturulan özel rapor türü belirtin_CrtDbgReport |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Hata ayıklama rapor çağırarak üreterek uygulamanın ilerlemesini 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. |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Benzer şekilde _RPTn makrolar, ancak rapor isteği kaynaklandığı kaynak dosya adı ve satır numarası sağlar |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Hata ayıklama başlığı için belirtilen sayıda ek alan ile öbek üzerindeki bellek bloklarını ayırmak ve arabellekleri üzerine |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Belirtilen bir yığın bellek bloğunu genişletme ya da blok milletlerarası yeniden boyutlandırma |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Öbek bellek bloğu serbest |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Belirtilen göreli yolu bir mutlak ya da tam yol adı kullanarak ad _malloc_dbg bellek ayrılamadı. |
||
Geçerli çalışma dizini Al kullanarak _malloc_dbg bellek ayrılamadı. |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Hata ayıklama başlığı için ek alan ile Öbek bellek bloğunu ayırmak ve üzerine arabellekleri |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Öbek bellek bloğu boyutunu hesaplamak |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Belirtilen bir öbek üzerindeki bellek bloğu ve/taşıma veya yeniden boyutlandırma blok tarafından tahsis |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
|
Yineleme bir dize kullanarak _malloc_dbg bellek ayrılamadı. |
||
Geçici dosyaları oluşturmak için kullanabileceğiniz kullanarak adları oluşturmak _malloc_dbg bellek ayrılamadı. |
Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri. |
Hata ayıklama yordamlar kullanılabilir kaynak kodunu çoğunu diğer c çalışma zamanı yordamları hata ayıklama işlemi sırasında adım için. Ancak, Microsoft tescilli olması için bazı teknoloji dikkate alır ve bu nedenle, kaynak kodu için bu yordamları sağlamaz. Çoğu bu yordamlar, özel durum işleme veya kayan noktalı işlem grupları için ancak birkaç diğerleri de dahil edilir. Aşağıdaki tabloda, bu yordamlar listelenmektedir.
Kaynak kodu formunda kullanılamaz c çalışma zamanı yordamları
printf, _printf_l, wprintf, _wprintf_l, printf_s, _printf_s_l, wprintf_s, _wprintf_s_l* |
||
scanf, _scanf_l, wscanf, _wscanf_l, scanf_s, _scanf_s_l, wscanf_s, _wscanf_s_l* |
||
|
* Kaynak kodunu çoğunu Bu yordam için kullanılabilir olmasına karşın, başka bir yordamı kaynak kod girilmediği için dahili bir çağrı yapar.
Bazı c çalışma zamanı işlevlerini ve C++ işleçleri bir uygulama hata ayıklama yapı çağrıldığında farklı davranır. (Ya da tanımlayarak bir uygulamanın bir hata ayýklama yapýsýnýn Confi yapılabilir Not _DEBUG göre hata ayıklama sürümü c çalışma zamanı kitaplığı 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. Aşağıdaki tabloda, bu yordamlar listelenmektedir.
Bir uygulamaya bir hata ayıklama içinde farklı davranır yordamları oluşturmak
C İptal yordamına girildi |
C++ silmek işleci |
C onaylama yordamına girildi |
C++ Yeni işleci |
Yukarıdaki tabloda hata ayıklama sürümleri C++ işleçleri kullanma hakkında daha fazla bilgi için bkz: C++ hata ayıklama öbekten kullanarak.