C++ dilinde bir space game yapıyorum. Kodun bir kısmında bir fonskiyonum var ve bu fonksiyonda astreoidlerle space ship karşılaşıyor ve kaçma şansına göre ya kaçıyor ya da kaçamayıp 10 hasar alıyor. Fonksiyonum bir class pointer alıyor ve hasar değerim bu fonksiyon bir defa çalıştırıldığında sorunsuz çalışıyor fakat fonksiyonu birden fazla kez arka arkaya çağırdığımda kod ysnlış çıktı veriyor, bir kez gemi kaçarsa hepsinde kaçmış sayıyor veya kaçamamış sayıyor. Debug modunda kontrol ettiğimde doğru çalışıypr gibi gözüküyor ve doğru değerler alıyor. Bunun sebebi nedir neyi yanlış yapmis olabilirim? (Kod uzun oldugu icin ekleyemiyorum.)
Kodunuzda bir hata var muhtemelen. (bkz: Soru Sorarken Sıkça Düşülen Hatalar #5) Daha fazla soyleyebilecegim tek sey: Sorun bir heisenbug, sebebi de UB buyuk ihtimalle.
Kodunuzu sorunu izole edecek kadar kucultmeniz lazim. Sorun bu izolasyon surecinde aciga cikmazsa, kalan bir avuc sinif ve fonksiyonu mesaj icine bile yazabilirsiniz.