Структура данных характеризует состояние потока отлаживаемого процесса
#include <sys/debug.h>typedef struct _debug_thread_info {pid_t pid;pthread_t tid;_Uint32t flags;_Uint16t why;_Uint16t what;_Uint64t ip;_Uint64t sp;_Uint64t stkbase;_Uint64t tls;_Uint32t stksize;_Uint32t tid_flags;_Uint8t priority;_Uint8t real_priority;_Uint8t policy;_Uint8t state;_Int16t syscall;_Uint16t last_cpu;_Uint32t timeout;_Int32t last_chid;sigset_t sig_blocked;sigset_t sig_pending;siginfo_t info;union {struct {pthread_t tid;} join;struct {_Int32t id;_Uintptrt sync;} sync;struct {_Uint32t nd;pid_t pid;_Int32t coid;_Int32t chid;_Int32t scoid;} connect;struct {_Int32t chid;} channel;struct {pid_t pid;_Uintptrt vaddr;_Uint32t flags;} waitpage;struct {_Uint32t size;} stack;_Uint64t filler[4];} blocked;_Uint64t start_time; /* thread start time in nsec */_Uint64t sutime; /* thread system + user running time in nsec */_Uint8t extsched[8];_Uint64t nsec_since_block; /* how long thread has been blocked. 0 for STATE_READY or STATE_RUNNING.in nsec, but ms resolution. */_Uint64t reserved2[4];} debug_thread_t;typedef debug_thread_t procfs_status;
Структура procfs_status
характеризует состояние потока отлаживаемого процесса. Основные поля структуры включают:
0
. _NTO_TF_*
в <sys/neutrino.h>
). __KER_*
в <sys/kercalls.h>
). _NTO_TF_ACTIVE
| _NTO_TF_IMMEDIATE
| (1
<< state)). 0
при состояниях STATE_READY
или STATE_RUNNING
. Поля структуры, зависящие от различных состояний блокировки потока:
STATE_JOIN
или STATE_WAITTHREAD
. STATE_CONDVAR
, STATE_MUTEX
или STATE_SEM
). Поле id соджержит адрес объекта синхронизации. Поле sync для условной переменной содержит указатель на связанный мьютекс и указатель на сам мьютекс в противном случае. STATE_SEND
или STATE_REPLY
). STATE_RECEIVE
). STATE_WAITPAGE
). pid – идентификатор процесса, который был активен при возникновении page-fault. vaddr – виртуальный адрес, для которого ожидается выделение физической памяти. STATE_STACK
). ЗОСРВ «Нейтрино»
devctl(), DCMD_PROC_STATUS, DCMD_PROC_STOP, DCMD_PROC_TIDSTATUS, DCMD_PROC_WAITSTOP
Предыдущий раздел: перейти