2016-04-05 28 views
0

Üretmek için daha iyi basit GUI oluşturma konusunda kendi kendime öğrenmeye çalışan gömülü bir C programcısıyım (bir C++ değil). Bunu Google'a yönettim ve bir cevap bulamadım, ancak aramam yanlış bir şekilde yanlış yazıyor olabilir.Özel bir parçacık hata ayıklama

Özel bir pencere öğesi oluşturdum ve uygulamada hata ayıklama yaparken Qt yaratıcısından eriştiğimde, hata ayıklayıcı gerçekten de pencere öğesi için kaynak koduna giriyor.

Ancak, bir kez kodun kaynak kodunda, ilk kod satırından başlayarak, daha sonra F10'a bastığımda ve sonunda yeniden kodun içine düştüğümde yerel değişkenlerin satırlarına atlayarak, çılgınca dönüyor. F10'a vurmaya devam ediyorum. Bazen bazı değişkenler gerçekte tuttukları değer yerine <Optimised out> görüntüler.

Pencere öğesi için bir hata ayıklama yüklemesi yapmayı denedim, ancak bu hiç bir fark yaratmıyor.

Aslında bu gibi widget'larda hata ayıklamak mümkün mü? Bunun için saatlerce yuvarlak ve yuvarlak daireler çiziyorum ve programın neden özel pencere parçasının belirli bir bölümünde kilitlendiğinin altını bulmak için daha iyi bir yol bulmak gerekiyor.

+0

, bir sürüm yürütülebilir dosyasında hata ayıklamaya çalıştığınız gibi geliyor. Doğru konfigürasyon setine sahip olduğunuzdan emin misiniz? –

+0

Evet, özel bir widget'ı hata ayıklamak mümkündür. Diğer kodlardan farklı değil. Gördüğünüz davranışların bir örneğini sağlamak mümkün olabilir mi? –

+0

@NicolasHolthaus, hayır hiç emin değilim. Uygulamam kesinlikle hata ayıklama modunda. Yukarıda tarif ettiğim gibi derlemiş olduğum, ancak "hata ayıklama yüklemesi" yaparak bazı nedenlerden ötürü düzenlendiğim widget'tı, ancak bu yardımcı olmadı. Bunu nasıl başaracağınızı tam olarak açıklayabilirseniz size minnettar olurum. – DiBosco

cevap

2

Çözüldü. Bu sabah ona geri döndüğümde bir anlığına sahiptim. .pro dosyasındaki kitaplığa başvurmaktan tamamen unutmuştum. Yani, hiç hata ayıklama kitaplığı kopyalanmış olmasına rağmen:

/usr/lib64/qt5/plugins/designer/libcutescreenwidgetplugin.so 

sorun proje dosyası olduğunu:

LIBS += pathtosoucecode/build-CuteScreenWidgetPlugin-Desktop_9516b5-Release/libcutescreenwidgetplugin.so 

Ben ayıklama kütüphanesine tüm hata ayıklama bilgileri referansı değişti kez ve tek -step mükemmel çalışır.

LIBS += /usr/lib64/qt5/plugins/designer/libcutescreenwidgetplugin.so 

projemin dosyasında, hata ayıklama sürümü yüklendikten sonra otomatik olarak yerine o kullanır böylece:

Şimdi belki gerçekten olması gerektiğini bana oluştu. Qt gibi böylesine karmaşık bir sistemle öğrenecek olan şeyleri öğrenirken yanılıyorsunuzdur.