Hata ayıklamaya ihtiyacım olan uzak ARM Linux kutusunu kullanıyorum.Uzaktan gdb her olayda durur
sunucu başlatıldığında:
gdbserver :12345 ./my_app
istemci: Sonra
./arm-am3354-linux-gnueabihf-gdb ~/
(gdb) target remote dev_r:12345
(gdb) continue
Ben Ctrl + C ile uygulamayı durdurmak için çalışıyorum, ancak gdb ile durur:
[Inferior 1 (işlem 2766) koddan çıkıldı 01]
Ve sunucuda:
Çocuk durumuyla çıkıldı 1 gdbserver çıkarken
Öyküsü: çalışma zamanında gdb içinde kesme noktaları kurulumu sırasında QtCreator uzaktan hata ayıklamayı kullanmaya çalışıyor, fakat aynı şekilde çöküyordu. Ayrıca kesme noktaları ve duraklama QtCreator'da çalışmıyor. Ayrıca gdb-multiarch ve android-sdk'den bir tane daha gdb çalışıyordum.
Güncelleme: Hata ayıklama küçük program aka Merhaba Dünya çalışır. Yerel Hata Ayıklama (x86 üzerinde) de çalışır. App yüz binlerce satır kod, paylaşılan ve statik kütüphaneleri vardır.
Kısmi çözüm: Muhtemelen sahip olduğum gömülü platform için muhtemelen sysroot geçersizdi. kopyalama/lib/ve/usr/hedef cihaz ve onu ayarlamasını
set sysroot /home/karel/sysroot
gibi ben breakpointler açabiliyorum ve sonra uygulaması bunların durur. Ancak duraklatma hala uzak uygulamayı durdurmaktadır. QtCreator için aynı: Tools-> Options-> Debugger-> GDB-> Ek Attach Komutları
Hangi cihaza ihtiyacınız var? http://www.ironlab.io, buluttaki gerçek cihazlarda hata ayıklamaya izin verir. Onlar şimdi ücretsiz beta. – Schultz9999