[sisyphus] C++ & gdb

Sanja Byelkin =?iso-8859-1?q?sanja_=CE=C1_mysql=2Ecom?=
Пн Сен 23 10:11:52 MSD 2002


Привет!

On Mon, Sep 23, 2002 at 11:50:44AM +0700, Alexey Morozov wrote:
> Скажите, а кто чем отлаживает программы на C++? gdb, по-моему,
> достаточно ущербный в этом плане. Во всяком случае, с задачей показа
> содержимого объектов сложных классов он практически не справляется.
> У меня тут библиотечка, написанная в ATL'ном стиле, показ любого
> сколько-нибудь сложного объекта кончается примерно так:
> 
> (gdb) display p
> 1: p = {<raw_packet_ptr<server::dgram::packet>> = {
>     p = 0x80688d8}, <No data fields>}
> gdb) display p.p
> 2: p.p = (packet *) 0x80688d8
> (gdb) display *p.p
> 3: *p.p = Value can't be converted to integer.
> Disabling display 3 to avoid infinite recursion.
> (gdb) _
> Хотя ptype на *p.p вполне себе работает.
> Это как-нибудь лечится или таки в морг. А если в морг - то чем ведущие
> собаководы пользуются для подобных целей? А то ведь рядом сидит дружок
> на MSVC6 - и вовсю все эти структуры данных просматривает и прочее...
> Прям хоть на винде сервер разрабатывай...

Я ddd использую - это как-бы графическая надстройка над gdb (и еще
некоторыми редакторами) - смотрит все (при помощи того-же gdb, но как - я 
не знаю).

У меня с местным gdb другие проблемы - отладка в multithread. Временно
полечилось нестатической линковкой но (наверно после очередного обновления)
опять поплохело. Но я твердо увекрен что 1) проблема местная 2) частые
обновления оказалось тоже зло :)  3) прийдется что-то менять.

-- 
Regards,
Alexander



Подробная информация о списке рассылки Sisyphus