GDB

Instalacia gdb

- najprv je vhodne mat python-dev (pre podporu Qt)

apt-get install python-dev

- a stiahnut skript na podporu qt a nastavit si spustanie do gdb

sudo cp /usr/local/emtest/DevelInstall/qt-creator/gdb-script/kde-devel-gdb /opt/emtest/
echo "source /opt/emtest/kde-devel-gdb" > ~/.gdbinit

- stiahnut najnovsi gdb ( z http://www.gnu.org/software/gdb/ ) (stiahnut gdb-X.Y.tar.gz) - rozbalit a v konzole prejst do tohto priecinku - v konzole zadame prikazy (ak to chceme nainstalovat do /usr) :

  - ./configure --prefix=/usr (ak hlasi chybu, treba nainstalovat balik ncurses a zopakovat)
  - make
  - sudo make install

Skontrolovat ci mame zelanu verziu gdb pomocou

gdb -v

Hotovo

Vzdialene debugovanie na ARMe (iba 2.6)

Nasledujuca sekcia popisuje sposob ako je mozne debugovat na vzdialenom zariadeni

Strojcek

Na strojceku treba spustit (binarka je v systeme):

gdbserver 0.0.0.0:45654 --attach <PID>

kde <PID> je cislo procesu ktory sa ide debugovat (akykolvek thread).

PC

Nastavenie projektu: /Project/Options/Debugger do Debugger executable (je tam armovska binarka s l_):

/opt/emtest/src_svn/App_2.6/l_hlavny-riga/hlavny-riga/bin/hlavny3

do Debugging shell:

/usr/toolchain-arm-26/usr/bin/arm-linux-gdb

do Run gdb script:

~/arm-gdb

Nasledujuci text treba nakopirovat do suboru (podla nastavenia napr.): ~/arm-gdb

set solib-absolute-prefix /usr/toolchain-arm-26/
set solib-search-path /opt/emtest/src_svn/Libs_2.6/l_EEthernetTableDriver/EEthernetTableDriver/src/eethernettabledriver/
#set solib-search-path /opt/emtest/src/pokus/l_gdbtest/gdbtest/src/pokus/
target remote 192.168.0.181:45654
#continue # optional...

Poznamky

Breajky davat iba do l_ zdrojakov.

Pre kazdu libku kde chceme vidiet zdrojaky, treba ju vykompilovat pre arm a pridat adekvatny riadok (s l_):

set solib-search-path /opt/emtest/src_svn/Libs_2.6/l_EEthernetTableDriver/EEthernetTableDriver/src/eethernettabledriver/

Problemy

Hoci je gdb velmi uzitocny a potrebny nastroj, byvaju s nim casto problemy. Riesenia niektorych z nich sa nachadzaju na tejto stranke.

Nejde, padne debuger pri debugovani s triedou QMap

Je potrebne mat novsi debuger najlepsie verzie (7.4.1).

Konkretny projekt nejde debugovat ale ine idu

V jednom, alebo niektorych projektoch nenastartuje debuger (pise process exit), alebo nezastavuje v breakpointe. Jeden z problemov moze byt, ze v adresarovej strukture sa nachadza ciarka (napr: /opt/emtest/src/App/zaloha_martin,zvolen). Ak ano treba ju odstranit premenovanim konkretneho adresare bez ciarky.

 
howto/gdb.txt · Last modified: 2013/03/05 14:39 by 192.168.10.223
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki