2009-10-10 23 views
26

Minidump'ı sistem ayarını değiştirerek sürecimi oluşturamıyorum. Yani benim Soru şudur: BenÇökme işlemimde minidump nasıl oluşturulur?

  • yapılandırmanız gerekir Yoksa ben yapacağım ayar

    Evetse, kilitlendiğinde

    • sistem kullanıcı süreci için bir mini döküm yaratacak minidump'ı programlı olarak oluşturun. kilitlenme

    araştırırken

  • ne kadar etkilidir mini dökümleri I (bir istisna dışında, bir sonraki bağlantıya bakınız) Windows XP, C++, VC6 Sen programlama yoluyla bir mini döküm oluşturmak için gereken

  • +0

    Kendi minidump'ınızı yapmak için her zaman try-catch ve fstream'i birleştirebilirsiniz. –

    cevap

    25

    kullanıyorum . CodeProject güzel bir article on MiniDumps vardır. Temel olarak, dbghelp.dll'u kullanmak ve MiniDumpWriteDump() işlevini kullanmak istiyorsunuz (bkz. MSDN on MiniDumpWriteDump).

    Bu tür pompalar, uygulamada ne kadar etkili olduğuna bağlıdır. Bazen, optimize edilmiş ikili dosyalar için pratik olarak işe yaramazlar. Ayrıca, deneyimsiz olarak, yığın/yığın bozulması hataları sizi yönlendirir. iyileştirici çok sert sana değildi lokal olarak kullanılan değişkenlerin bir yığın-iz + değerlere sahip kullanışlı olduğu

    Ancak, çöplük yani bütün hatalar yardım yapmak hataların büyük bir sınıf var Örneğin, birçok saf sanal işlev çağrısı (yani yanlış yıkım sırası), erişim ihlalleri (başlatılmamış veya eksik NULL çekler), vb.

    BTW, bakım politikanız bir şekilde izin veriyorsa, uygulamanızı VC6'dan VC8 veya 9 gibi bir şey kabul edilebilir. Kendinize büyük bir iyilik yapacaksınız.

    1

    AQtrace'u boşaltmak için birkaç dolarınız varsa, bir göz atmaya değer olabilir. Bu, uzak son kullanıcı makinesinde çalışırken, hata ayıklayıcının içinde meydana gelen çökmenin birçok avantajına sahiptir.

    14

    Gimpf'e özel teşekkürlerimizi izlediğiniz için teşekkürler, internete ve msdn'e baktım.

    Ben mükemmel bir makale buldum debugInfo.com Bu okumak için değer: o ++ 2003. güzel tarafı yararı az Görsel C'de gerektirmesine rağmen,

    effective minidumps

    +0

    Bunu mu demek istediniz: googled? –

    +0

    @MatthewRoh evet, düzeltildi – Satbir

    2

    Windows'ta CrashRpt kullanarak bittim (tüm kod tabanı ve araç zincirini MinGW'dan yerel Microsoft C/C++ derleyicisine taşımak için bana gerekli) ve Linux'ta google-breakpad'i kullanıyorum.

    İlgili konular