|
��������
ptrace - ����������� ��������
���������
int ptrace (request, pid, addr, data) int request, pid, addr, data;
��������
��������� ����� ptrace ������������� ��������, ��������� ������� ������������ ������� ����� ��������� ����������� ������������ ��������. � ������ ������� ���� ����� ������������ ��� ���������� ���������� � �������
���������� [��. sdb(1)]. ����������� ������� ��������
������� �������, ���� �� �� �������� ������ [��. ������
� signal(2)], ����� ���� �� ������������������, � ���
������������ ������� �������� ���������� �� ���� �����
wait(2). ���� ����������� ������� �������������, ������������ ������� ����� ������ � �������� ����� ��� ������, ������� ptrace. ����� ����, ������������ �������
����� ���� ���������� ����������� �������, ���� ����������� ��� ����������, �������� ������ ������, ��������� ���������.
�������� request ���������� ��������, ������� ������ ��������� ��������� ����� ptrace. �������� ��������� ��������:
0 | ����� � ���� ��������� request ������ ���� ������ ����������� ���������, ���� �������������� ��� ����������� ������������ ���������. ���� ����� ������������� � ������������ �������� ���� �����������, ���������� ���� ����������� ������� ��� ��������� ������� ���������������, �� ����������� �������, ��������� ���������� ���������� ������ signal [��. signal(2)]. ��������� pid, addr, � data ������������ � ������������ �������� �� ����������. ���� ������������ ������� �� ���������� ������������ ����������� �������, ���������� ����� ����������������. |
---|---|
������ � ���������� ���������� ��������� request ����� �������������� ������ ������������ ���������. ��� ���� ���� ������� �������� pid ���������� ������������� �� ���������� ��������. ������ ����� �����, ������ ����� ����������� ������� �������������. | |
1,2 | ��� ���� ��������� request ������������� �������� ������������ ����� �� ������ addr � �������� ������������ ������������ ��������. ��� �������� request �������� � ���������� �����������. ������������ �������� data. |
3 | ������������� �������� ������������ ����� �� ��������� u ���� user, ����������� � ��������� �������� ������������ [��. <sys/user.h>] � ��������������� ������������ ��������. �������� addr ������ �������� ����� ������������ ������ ���������. �������� data ������������. ����� ����������� ��������, ���� ��������� ����� ��������� �� ����� ���� ���� ���������, � ���� ������ ������������� �������� ������������ -1, � ���������� ������������� �������� errno ������������� �������� EIO. |
4,5 | ��� ���� ��������� request �������� data ������������ �� ������ addr � �������� ������������ ������������ ��������. ��� �������� request �������� � ���������� �����������. ��� �������� ���������� ������������ ���������, ������ ����������� ��������; � ��������� ������ ������������� �������� ������������ -1, � ���������� ������������� �������� errno ������������� �������� EIO. |
6 | ��� �������� ��������� request ��������� �������� ��������� ���� � ��������� u ���� user, ��������������� ������������ ��������. �������� ��������� data ������������ � �����, �������� �������� �� ������ ��������� u �������� ���������� addr. ����� ���� �������� ���� ��������� ����������:
|
7 | ����� � ���� ��������� request ������ ��� ������������� ������ ������������ ��������. ���� �������� data ����� 0, �� �� ������������� ������ ��������� ��� ����������, �� �� ������������ �������, ������� ���, ������� ������ ������������ ������������ ��������. ���� �������� data ����� ����������� ������ �������, �� ����������� ������� ������������ ������ ���, ��� ����� �� ������� ���� ������, � ��� ��������� ���������� ������� ���������. �������� addr ������ �����, � �������� �������������� ���������� ������������ ��������. ���� �������� addr ����� 1, ���������� ������������ �������� �������������� � ����� ������������. ��� �������� ���������� ������������ ���������, ������ �������� ��������� data. ����� ����������� ��������, ���� �������� data �� ����� 0 ��� ����������� ������ �������, � ���� ������ ������������� �������� ������������ -1, � ���������� ������������� �������� errno ������������� �������� EIO. |
8 | ����� � ���� ��������� request �������� � ����������� ������������ �������� � ��� �� ������������������� ��������, ��� � exit(2). |
9 | ����� � ���� ��������� request ������������� ��� ����������� � ����� ��������� ���������� ������������ �������� � ����� ��������� ��������, ��������� ��� �������� request, ������� 7. ������������� ��� ����������� �������� ���������� �� ���������� ������ �������� �������, ��� ��������� ���������� ������������ ����������� ������� �� ����� �������. |
����� ������������ ��������� �����, ����� ptrace ��������� ����������� ����������������� ����������� ������������� ������������ ��� ����������� ������� exec(2). ���� ������������ ������� �������� exec, �� �� �� ���������� ������ ������� �� ������ ������������ ����� ���������������, ������� � ��������� ������� SIGTRAP.
��������� ����� ptrace ����������� ��������, ���� ��������� ���� �� ���� �� ��������� �������:
��. �����
sdb(1), exec(2), exit(2), signal(2), wait(2).
|