[  Страница назад | Страница вперед  |  Содержание  |  Индекс  | Библиотека | 
Юридическая информация | 
Поиск ] 
 
Программирование: Разработка и отладка программ
- symbol_addrs
 - read_data
 - write_data
 - read_regs
 - write_regs
 - alloc
 - realloc
 - dealloc
 - print
 
Обеспечивают доступ к средствам отладчика или приложения, необходимым для
работы библиотеки отладки нитей.
Эти функции предоставляются отладчиком, связанным с библиотекой
отладки нитей.
#include <sys/pthdebug.h>
int symbol_addrs(pthdb_user_t     user,
                 pthdb_symbol_t   symbols[],
                 int              count)
int read_data(pthdb_user_t     user,
              void            * buf,
              pthdb_addr_t     addr,
              int              size)
int write_data(pthdb_user_t     user,
               void            * buf,
               pthdb_addr_t     addr,
               int              size)
int read_regs(pthdb_user_t     user,
              tid_t               tid,
              unsigned long long  flags,
              struct context64   * context)
int write_regs(pthdb_user_t     user,
               tid_t               tid,
               unsigned long long  flags,
               struct context64   * context)
int alloc(pthdb_user_t     user,
          size_t           len,
          void            ** bufp)
int realloc(pthdb_user_t     user,
            void            * buf,
            size_t           len,
            void            ** bufp)
int dealloc(pthdb_user_t     user,
            void            * buf)
int print(pthdb_user_t     user,
          char            * str)
- int symbol_addrs()
 - Определяет адрес символов в отлаживаемой программе. Библиотека
pthread вызывает эту функцию для получения адреса известных символов
отладки. Если имя символа - NULL или "", функция возвращает адрес 0LL,
просмотр не выполняется и сообщение об ошибке не выдается. Если
выполнение функции завершено успешно, она возвращает 0, в противном случае
функция возвращает ненулевое значение. Точнее, если задан флаг
PTHDB_FLAG_SUSPEND приложение, то программа может пользоваться либо функцией
symbol_addrs из библиотеки pthread, передавая ей значение NULL, либо
собственной функцией symbol_addrs.
 - int read_data()
 - Считывает указанное количество байт данных из активного процесса или из
файла дампа и помещает эти данные в буфер. Если выполнение функции
завершено успешно, она возвращает 0, в противном случае она возвращает
ненулевое значение. Эта функция требуется всегда.
 - int write_data()
 - Записывает указанное число байт данных. С помощью этой функции
библиотека pthdebug может передавать данные активному процессу. Если
выполнение функции завершено успешно, она возвращает 0, в противном случае
функция возвращает ненулевое значение. Эта функция применяется в
случаях, когда задан флаг PTHDB_FLAG_HOLD, а function.
 - int read_regs()
 - Функция callback для чтения регистров. Она должна считывать
контекст нити ядра отлаживаемой программы из активного процесса или из файла
дампа. Эта информация представлена в формате context64 как для
32-разрядных, так и для 64-разрядных процессов. Если выполнение функции
завершено успешно, она возвращает 0, в противном случае функция возвращает
ненулевое значение. Эта функция требуется только при работе с функциями
pthdb_pthread_context() и pthdb_pthread_setcontext().
 - int write_regs()
 - Функция записи в регистры. Она должна передавать указанную
контекстную информацию нити ядра отлаживаемой программы с указанным ИД.
Если выполнение функции завершено успешно, она возвращает 0, в противном
случае функция возвращает ненулевое значение. Эта функция требуется
только при работе с функцией pthdb_pthread_setcontext().
 - int alloc()
 - Выделяет область памяти указанного размера и возвращает указатель на эту
область. Если выполнение функции завершено успешно, она возвращает 0, в
противном случае функция возвращает ненулевое значение. Эта функция
требуется всегда.
 - int realloc()
 - Изменяет размер области памяти на основе переданных параметров len и buf и
возвращает указатель на новую область памяти. Если выполнение функции
завершено успешно, она возвращает 0, в противном случае функция возвращает
ненулевое значение. Эта функция требуется всегда.
 - int dealloc()
 - Освобождает указанный буфер. Если выполнение функции завершено
успешно, она возвращает 0, в противном случае функция возвращает ненулевое
значение. Эта функция требуется всегда.
 - int print()
 - Отправляет строку символов на стандартное устройство вывода
отладчика. Если выполнение функции завершено успешно, она возвращает 0,
в противном случае функция возвращает ненулевое значение. Эта функция
callback предназначена только для отладки библиотеки.
Выводимые сообщения не переводятся на другие языки и не описываются в
документации, предназначенной для пользователей. Если вы не отлаживаете
библиотеку отладки нитей, в эту функцию следует передавать значение
NULL.
 
Примечание:  Если write_data() и
write_regs() равны NULL, то библиотека отладки нитей не
будет записывать данные в стандартный вывод и регистры. При вызове
функции pthdb_pthread_set_context() в случае, когда
write_data() и write_regs() равны NULL, она возвращает
значение PTHDB_NOTSUP.
| пользователь
 | Описатель пользователя.
 | 
| символы
 | Массив символов.
 | 
| число
 | Число символов.
 | 
| буфер
 | Буфер.
 | 
| адрес
 | Адрес для чтения или записи.
 | 
| размер
 | Размер буфера.
 | 
| флаги
 | Флаги сеансов, необходимые значения - PTHDB_FLAG_GPRS,
PTHDB_FLAG_SPRS, PTHDB_FLAG_FPRS и
PTHDB_FLAG_REGS.
 | 
| идентификатор нити
 | ИД нити.
 | 
| флаги
 | Флаги, определяющие, из какого регистра следует считать информацию или в
какой регистр ее следует записать.
 | 
| контекст
 | Структура контекста.
 | 
| длина
 | Размер выделяемого буфера или буфера, на который нужно заменить исходный
буфер.
 | 
| буфер
 | Указатель на буфер.
 | 
| строка
 | Строка для печати.
 | 
Если выполнение функции завершено успешно, она возвращает 0, в противном
случае она возвращает ненулевое значение.
Файл pthdebug.h.
  [  Страница назад | Страница вперед  |  Содержание  |  Индекс  |
 
Библиотека | 
Юридическая информация | 
Поиск  ]