Ubuntu 14.04 üzerinde QtCreator 3.6.1'i ana derleyicim olarak gcc ile kullanıyorum.QtCreator, derleme yerine hata ayıklama yaparken "normal" kodu nasıl gösterir?
Qt projem hata ayıklama modunda oluşturuluyor. Ancak, F5'e bastığımda, mola noktaları belirleyerek kodun içine girmeye çalışmak için, kodum çöküyor (kod buggy olduğundan), ancak kesme noktasında durmak yerine, bana montaj çıktısını gösteriyor!
İşte bir ekran görüntüsü. Kod, sarı oku gördüğünüz yerde çökmüş gibi görünüyor, ama sadece kaynak kodda nerede olduğunu bilmiyorum! Burada gördüğünüz gibi
Aslında, bir cout deyimi benim kesme noktası belirledik.
bilecout
açıklamada çalıştırdığı değil. Ana yürütmeden önce kod çöküyor gibi görünüyor. Bunun QtCReator problemi mi yoksa başka bir şey mi olduğunu bilmiyorum.
-O0
ve
-g
seçeneği QMAKE_CXXFLAGS seçeneğine QMAKE_CXXFLAGS seçeneğine ekledim, bu hata ayıklama sembollerinin eklendiğinden emin olun, yine de bu sorunu yaşıyorum.
DÜZENLEME: My yığın izleme Ayrıca, bu
benziyor ben bu yardımcı olur emin değilim, ama programın adının önünde LD_DEBUG
ile terminale aracılığıyla programı çalıştırdığınızda, ben büyük miktarda çıktı elde edin.
son üç satır bunun için
.
.
.
7934: symbol=_ZN11QMetaObject8addGuardEPP7QObject; lookup in file=/usr/lib/x86_64-linux-gnu/libQtGui.so.4 [0]
7934: symbol=_ZN11QMetaObject8addGuardEPP7QObject; lookup in file=/usr/lib/x86_64-linux-gnu/libQtCore.so.4 [0]
7934: binding file /usr/lib/x86_64-linux-gnu/libQtGui.so.4 [0] to /usr/lib/x86_64-linux-gnu/libQtCore.so.4 [0]: normal symbol `_ZN11QMetaObject8addGuardEPP7QObject'
[1] 7934 segmentation fault (core dumped) LD_DEBUG=all ./CGALQT_Fix_MainWindow
Kodunuzda kilitlendiğinden emin misiniz? Hata ayıklama bilgilerinin olmadığı başka bir kitaplıkta (örneğin, libc) çökerse, kodunuzun tam hata ayıklama bilgisi olup olmadığına bakılmaksızın, hala bu çerçeveler için derleme gösterecektir. Tam backtrace neye benziyor? –
@FrankOsterfeld Görüyorum. QtCreator'da tam backtrace'i nasıl alacağımı söyleyebilir misin? Bunun ne olduğundan emin değilim. – smilingbuddha
@FrankOsterfeld * Kodumda * yazılıyor mu bilmiyorum. Kodun ilk satırı olarak koyduğum 'cout' ifadesi bile – smilingbuddha