[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