Pokud je program přerušen (pomocí breakpointu) je možno zjišťovat množství informací o spuštěném programu a jeho stavu.
Asi nejdůležitější pro programátora je příkaz print, který vypisuje obsah proměnných. Jeho parametr je jakýkoliv výraz v jazyce C++. Lze volat i funkce, definované v programu. Pokud chcete výstup formátovat, lze použít příkaz printf - má podobnou syntaxi, jako printf jazyka C, jen se nepíšou závorky.
zkusto: print command
printf "proměnná command: %s", command
Výpis všech lokálních proměnných (uložených na zásobníku) získáme příkazem info locals
zkusto: info locals
Pokud chcete vypisovat určité výrazy pokaždé, když se program zastaví, použijte příkaz display. Má stejnou syntaxi jako print. Zrušit vypisování lze příkazem undisplay. Pokud chcete na nějakou dobu zastavit vypisování některé (nebo všech) proměnné, použijte příkaz enable display a disable display. Všechny zobrazované proměnné lze vymazat příkazem delete display.
zkusto: break 47
display command
run
Typ proměnné lze vypsat příkazem whatis - pro zjištění typu výrazu, popřípadě ptype.
zkusto: whatis command
Chcete-li vidět část programu, kterou je právě na řadě, příkazem list vypíšete okolí právě prováděného příkazu nebo lze specifikovat rozsah, ve kterém se program vypíše jako n,m (n - od řádku, m - do řádku). Program si samozřejmě můžete prohlížet jako zdrojový soubor např less-em.
zkusto: list
list 1,20
Je možné také vypsat část paměti procesu - příkaz x, nebo provést disassembling programu - příkaz disassemble.
zkusto: x/s command
disassemble
Důležitý příkaz je též bt (backtrace), který vypíše obsah zásobníku, ze kterého lze zjistit, jak byla funkce volána. Pro výpis jen zvolené úrovně použijeme příkaz frame n (parametr n udává úroveň zanoření, kterou chceme vypsat; bez parametrů vypíše nejnižší). Příkazem return můžeme ukončit funkci, ve které jsme a vrátit se volající. Jeho argumentem může být výraz, který má být návratovou hodnotou.
zkusto: bt
frame
Optimalizováno pro ![]() | [Zvolte si kódování] |