Техника отладки для удаленной отладки - PullRequest
0 голосов
/ 29 декабря 2010
gcc (GCC) 4.1.2 
c89
Red Hat Enterprise Linux Server release 5.4 
2.6.18-164.el5
GNU gdb Fedora (6.8-37.el5)

Компиляция со следующим флагом отладки -ggdb

Я ищу способ отладки на удаленном сервере.

В настоящее время я отлаживаю с помощью gdb.

Однако я хочу напечатать содержимое структуры, чтобы увидеть, каким значениям был присвоен элемент.

Я могу сделать это:

p media_description
$2 = (sdp_media_description_t *) 0xb7a80318

Однако, это просто даст мне адрес памяти структуры.

Есть ли где-нибудь распечатать элементы структуры?

Большое спасибо за любой совет,

===== Редактировать ======

sdp_media_description_t *media_description = NULL;        
media_description = get_item(sdp_media_des_list, outer);

Приведенный выше код должен возвращать указатель на экземпляр структуры.

Ответы [ 2 ]

1 голос
/ 29 декабря 2010

Возможно, у вас есть указатель на структуру, а не на структуру?

Если это так, вы можете просто разыменовать указатель при его печати, т.е.

p * media_description

Кроме того, если вы не хотите работать с gdb в режиме консоли и предпочитаете графический интерфейс, который вы предпочитаете, вы сможете использовать его удаленно, либо запустив gdbserver на отлаживаемой машине и запустив gdb намашина разработки, управляемая графическим интерфейсом или запустив все на тестируемой машине и используя удаленные возможности системы X window, чтобы отобразить ее на машине, перед которой вы сидите

1 голос
/ 29 декабря 2010

Поскольку media_description, по-видимому, указатель, вы хотите напечатать структуру, на которую он указывает:

p *media_description
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...