2009-10-20 23 views
6

Çökme hakkında daha fazla bilgi almak için bir mini kilitlenme dökümü analiz etmeye ve sembol dosyalarına ihtiyacım var. Im şu anda sadece görme: "! 034eff74 0086eee9 00000000 0089d58d 034eff94 app_integrator ZNK14ACE_Data_Block4baseEv + 0x6"Bir msys/mingw gcc built dll hata ayıklama bilgilerini rebase.exe kullanarak ayıklayın?

bir windbg okunabilir biçime bir msys/mingw gcc inşa dll hata ayıklama bilgilerini ayıklamak mümkün mü? Değilse, bir şekilde bir MAP dosyası yüklemek gibi daha ayrıntılı bilgi almanın başka bir yolu var mı?

İçerdiği dll ve hepsi .o dosyaları -g bayrağıyla oluşturulur.

cevap

5

Windbg, bir mingw yüklemesinde -g tarafından oluşturulan hata ayıklama bilgisiyle baş edemiyor. Bununla birlikte, COFF sembolleri ile başa çıktığı iddia edilebilir.

DLL dosyanızın kaynak dosyaları yeterince küçükse, muhtemelen COFF hata ayıklama bilgisi edinebilirsiniz (-g yerine -gcoff). Bu nedenle, Windbg (iddia edilen) COFF sembollerini tutabilir ve GCC bunları oluşturabilir. Yani oradan kolay olmalı, değil mi? Visual Studio 2008 tarafından oluşturulan bir Win32 yürütülebilir dosya ile tam olarak bunu yapmaya çalışıyordum bir gcc derlenmiş DLL yükleme. Maalesef, -gcoff ile derleme işe yaramadı. Mingw's gcc, 64 binden fazla kod satırıyla projeler için COFF sembolleri üretmeyecek. Kullandığım DLL, daha sonra 64K kod satırları büyüktü. Ne yazık ki itiraf etmeliyim, vazgeçtim ve güvenilir OutputDebugString'e geri döndüm. Aksi takdirde daha eksiksiz talimatlar verebilirim. Daha büyük kaynak dosyaları için gcc do COFF sembolleri yapma veya DWARF veya STABS verilerini windbg'nin iç sembol tablolarına ayrıştırmak için bir hata ayıklama uzantısı yazma seçeneğinin araştırılması konusunda bir fanteziye sahip olmadım.

Bu arada sorunu çözdüm!

Diğer önerileri in this forum post at windbg.info adresinde bulabilirsiniz.

+0

Mükemmel, Ben bir deneyeyim. – Kristofer

+0

Çalışır mı, yoksa başka ne yapmayı başarırsınız diye bilmek isterim! – Pete

+0

İlgili bir notta, profiler Very Sleepy -gstabs ile oluşturulan hata ayıklama sembolleri ile harika çalışıyor –