������� �������� ��� ������ GDB

������ ���, ����� ���� ��������� �������� ������� (������ �������� �����, ��� ������ �� ����� ���������� ���������), �� ������ ��� ������� �������� GDB (Gnu debugger). �� ��������� �������� ������� ��� ���������� ���������, �������� �� �������� � ������������ �������� ����������.

��� ������������� GDB ���������� ��������������� ��������� � ������ -g, ��������, c++ -g program.cpp. ����� ����� ���������� ��������� gdb, ������� ��� � �������� ��������� ��� ������������� ������������ �����: gdb a.out.

����� ����������� (gdb) ����� ������� ��������� �������. ������ ������� ����� ��������� �� �����-���� ����. ����� ������������ ������� <Tab> ��� ���������� ����� �������, ���������� ��� ������� ��������� ����. ������� ������� ������� <Enter> ��� �������� ������� ��������� ��������� ����� ��������� �������. ��� ���������� ������ GDB ������� ������� quit (����������� �� q).

��� ��������� ������� ��������� ������ ������� help (h), ��� ��������� ������� �� �������� ���� ��� ����� ������� ���������� ���� ������� help � ��������� ����� �������, ��������, help breakpoints ��� ��������� ������� �� ��������, ��������� � ������� ���������. ������� help ��� ���������� ������� ������ ���� �������� �������.

���������� ���������

run (r) �������� ���������� ��������� �� ������ ����� ��������� ��� ������������� ������ ����� Floating point exception ��� Segmentation fault. ��� ��������������� �����-������ ������� ����� ������������ ������� run <input_file >output_file.

continue (c) ���������� ���������� ��������� �� ��������� ����� ��������� ��� ������.

step (s) ���������� ���������� ��������� ���� ���������� �� ��������� ��������� ������ ��������� ������. ��� ���� ���������� ���� � �������, �� ���� ��� ������ ������ ������� ��������� ����� ���������������.

next (n) �������� ���������� ������� step, �� ��� ���� ������� ���������� ��� ���������.

finish ���������� ���������� ��������� �� �������� �� ������� �������, ���������� ������������ ��������.

�������� stepnext ����� �������� �������� ��������, � ���� ������ ��� ����� �������� ���������� ���� ������� �������� ����� ���.

������������ ������

print expr (p) ���������� �������� ��������� expr. ����������� ������������� ����������� ������ ��������� ����� C/C++, � ��� ����� � ������ �������. ��������: p a, p sqrt(n), p (a&b)>>3.

���� ������� ������������ ������ (��������, int * p=new int[10]), �� ��� ������ ��� �� ����� (print p) ����� ���������� �������� ���������, �� ���� ����� � ������ ����������. ���� ������� ������� ���� ������ (��� ��� �����), �� ���������� ��������������� ���������� �������� ������������ ������� @, ����� ������� �������� - ������ ������� �������������� �������, � ������ - ����� ��������� �������. ��������, print *p@10 ��� print p[0]@10.

���� ���������� ����������� �������� ������-���� ���������, �� ��� ����� �������� � ������ ��������������� �����������, � ����� ��� ����� ���������� ������ ��� ��� ��������� ���������.

display expr �������� ��������� expr � ������ ��������������� �����������. ������ ����� ��������� �������� ���� �����.

delete display n ������� ��������� � ������� n �� ������ ��������������� �����������.

disable display n ��������� ���������� �������� � ������� n �� ������, �� ������ ���.

enable display n �������� ����������� �������� n �� ������, ������������ �����.

display ���������� �������� ���� ������������� ������������ ���������, ��� ��� ���������� ��� ��������� ���������.

info display ������� ������ ������������� ������������ ���������.

���� � ���������� ������������ ��������� ����������, �� ��� ��������� �� ���������� ��� ���� ������������ ���������, � ������� ��� ���������������. � ���� ������ ��������������� ����������� ����� ���������.

����� ��������

� ������������ ����� ��������� ����� ��������� ����� ��������, ��� ���������� ������� ������� �����������. ��� ���� ����� ����������� �������� ����������, ���������� ���������� ��������� ��� ������ ������ c, s, n ��� ��������� ������ ������� GDB.

break n (b) ���������� ����� �������� �� ������ ��������� ���� � ������� n. ��� ����� �������� ����� ���� ������, ������������ ��� �� ���������.

break function ���������� ����� �������� �� ������� function. ���������� ��������� ����������� ��� ������ ���� �������. ���������������� ������: break main ��� ����, ����� ����� ���� �������� ��������� ��������� � ������ ������.

tbreak ... ��������� ������� ����� ��������. �������� ���������� break, �� ����� �������� ������������� ��������� ��� ���������� ��.

break ... if cond ��������� �������� ����� ��������. ���������� ��������������� �� ������ ������ ��� �������, ���� ��������� ������� cond. ������: break 120 if a==15.

clear function ��� clear n ������� ����� �������� �� ������� function ��� � ������ � ������� n.

delete �������� (d) ������� ����� �������� � �������� �� ���������� ���������. ��������, delete 1-5 ��� delete 4. ���� �������� �� �����, ��������� ��� ����� ��������.

disable �������� ��������� ����� �� ��������� ���������.

enable �������� �������� ����� �� ��������� ���������.

enable once �������� ����� �� ��������� ��������� ���������� �� ������� ������������, ����� ���� �����������.

enable delete �������� ����� �� ��������� ��������� ���������� �� ������� ������������, ����� ���� ���������.

condition n cond ����������� ����� �������� � ������� n � �������� � �������� cond.

condition n ����������� ����� �������� � ������� n � �����������.

info break ������� ���������� ��� ���� ��������� ������ ��������.

����� ����, ����� ������������� ����� ������, ������� ����� ��������� ��� ���������� ����� ��������, ��������, ����� ����������� ��� �������� �������� ����������. �� ���� �������������� �� �������� 41 ������� ������������ �� GDB.

���� ���������, � ����� ����� ��������� ��������� ������, �� �������� � ������� ������� ����� ����������. ����� ���������� ��������� ���������� ��������� � ����� �����, ����� ���������� �������� ��������.

watch expr ���������� ����� ���������� �� ��������� expr. ���������� ��������� ���������������, ����� �������� expr ����������� ���������� � ��� �������� ����������. ������: watch a.

rwatch expr ���������� ����� ����������, ������� ��������� ��������, ����� ��������� expr ����������� ����������.

awatch expr ���������� ����� ����������, ������� ��������� ���������, ���� ��������� expr ����������� ��� �����������.

info watch ������� ���������� � ���� ������ ����������.

�������� ��������� ���� � ����� ���������

��� ������ ��������� ������ ��������� ������������ ������� list (l) � ��������� ���������:

list n ������� ������ ��������� ����, ������ ������ � ������� n.

list function ������� ������ ���� ������� function.

list n,m ������� ������ � �������� �� n �� m.

list n, ������� ������, ������� � n.

list ,m ������� ������ �� ������ m.

list ������� ��� ������� �����. �� ��������� ��������� 10 ��������� �����, ����� ����� ����������. ��� �������� ����� �������� �������� set listsize �����.

����� ��������� ���������� ���� ������, ������ ����� ���������� ������, ��� ��� ��������� � ��� ��� ���� ������. �������� ��� ������� ��� ������� run-time ������.

������ ���, ����� ���������� �������, ���������� � ������ ����������� � �����. ���������� ����������� � ����� ������, ���������� ������ �����.

where ������� ���������� �����.

frame n ������������� � ���� � ������� n. ��� ���� ����� ������������� �������� ��������� ���������� � ��������� ����� �����.

up n ������������� �� ����� ����� �� n ������. �� ��������� n ����� 1.

down n ������������� �� ����� ���� �� n ������.

info frame ������� ���������� � ������� �����.

info args ������� ���������� �� ���������� �������� �����.

info locals ������� ���������� � ���� ��������� ���������� �������� �����.