Programowanie w systemie UNIX/gdb: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Linia 72:
 
=Znajdowanie źródła problemu=
 
==Przerwania==
Uruchamiamy sesję :
 
 
gdb a.out
 
Jeśli podejrzewamy w którym miejscu w czasie wykonywania programu powstaje błąd, to możemy ręcznie przerwać wykonywanie przed wykonaniem błędnego kodu. Pozwoli to nam na dokładniejszą analizę ( krok po kroku). Przed uruchomieniem programu w czasie sesji debuggera ustanawiamy przerwanie.
 
Mamy do wyboru przerwanie przed:<ref>[http://cseweb.ucsd.edu/classes/fa09/cse141/tutorial_gcc_gdb.html Tutorial of gcc and gdb by Steven Swanson]</ref>
* linią kodu : break source_filename:line_number ( przykład break c.c:8 )
* funkcją : break source_filename:function_name ( przykład : break m.c:GivePeriod )
* instrukcją : break *PC ( przykład : break *0x1f7b ustanawia przerwanie przed istrukcją main)
 
Informacja o przerwaniach :
 
info breakpoint
 
i przykładowa odpowiedź : :
<pre>
Num Type Disp Enb Address What
1 breakpoint keep y 0x0000000000400b3b in GivePeriod at m.c:132
breakpoint already hit 1 time
</pre>
 
 
Usuwanie przerwań :
 
clear m.c:8
 
=Źródła=