Visual Studio 2013 Ultimate ile Windows 8.1 64 bit kullanıyorum. Linux'tan Windows'a C++, OpenGL ve SDL kullanan bir program yüklüyorum. Windows'da 64 bit'de cmake aracılığıyla derlenmiş özel kütüphaneler var. Programı Visual Studio'dan çalıştırdığımda, IDE bir kafa bozulması olduğunu söylüyor. Nesneleri başlatmak için işaretçiler kullandığım için bu hiç de şaşırtıcı değil ve ben argüman uğruna akıllı göstericilere değiştirmeyi planladığım ham işaretçileri kullanıyorum. Ardından büyü büyüğünü yapacağım. Bu arada, Valgrind aracılığıyla herhangi bir bellek sızıntısını teşhis etmek için Linux bilgisayarımı kullandım ve Valgrind'den ciddi bir şey bildirilmedi. Daha sonra CppCheck'i kullanmaya devam ettim ama orada da ciddi bir şey yoktu. Belki de burada çok fazla rahatsızlık duyuyorum ve Windows aslında Linux'tan daha az ciddi olan şeyleri ciddiye alıyor olabilir, bu da MSVC'nin GCC'den daha fazla affedici olma eğiliminde olduğu için bir sürpriz.Windows'da yığın bozulması hatalarını nasıl tanıyabilirim?
Program, Linux üzerinde çalışıyor ve Windows'ta çalışmıyor. (Sadece harika!) Ve Visual Studio, Windows'dan daha fazla nefret etmemi sağlayan her yere istisnalar atmanıza yardımcı olmuyor. Bir çözüm için etrafta dolaşmaya başladım ve gflags veya sayfa yardımcısı olarak adlandırılan bu şeyle karşılaştım, bu yüzden hata ayıklama araçlarını kurdum ve gflag'ları çalıştırmaya çalıştım ama nasıl kullanacağımı bilmiyorum! Sonra daha sonra adp adında başka bir araç kullanmanız gerektiğini ve daha sonra gflag'leri eklediğimi fark ettim. Yani şimdi ne yapacağımı ve limanı iptal etme eşiğinde olduğum hakkında hiçbir fikrim yok (birçok insan, Windows'dan Linux'a liman programlarının ne kadar zor olduğu konusunda şikâyetçidir).
Şimdi, yardım için bu topluluğa hitap ediyorum: Windows'da ortaya çıkan ancak Linux'ta olmayan yığın bozulma hatalarını nasıl hata ayıklayabilirim/tanılayabilirim? Gerçekten gflag kullanıyor muyum yoksa sadece bağırsaklarımı kullanmalı mıyım?
VS'nin dahili bellek sızıntısı detektörü vardır: https://msdn.microsoft.com/en-us/library/x98tx3cf(v=vs.120).aspx –
Bir hata ayıklayıcı kullandınız mı? Ayrıca, linkin üzerinde clang sanatizers'ı deneyebilirsiniz. Belki de bir şey bulmuşlar ve cpp kontrolü yapmadı. – MikeMB
Üzgünüm Bir daha cevap vermedim. Hala bu sorun var, ancak bir dış .dll dosyasından geliyormuş gibi görünüyor. Sonunda bir sorun olup olmadığından emin değilim, erişim ihlali 0xFF hataları rahatsız edici olduğunu söylemek için yeterli! – Poriferous