From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 23 Sep 2002 13:50:32 +0700 From: Alexey Morozov To: sisyphus@altlinux.ru Subject: Re: [sisyphus] C++ & gdb Message-ID: <20020923065032.GE26771@pyro.hopawar.private.net> References: <20020923045044.GC26771@pyro.hopawar.private.net> <20020923061152.GA2228@sanja.is.com.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20020923061152.GA2228@sanja.is.com.ua> User-Agent: Mutt/1.4i Sender: sisyphus-admin@altlinux.ru Errors-To: sisyphus-admin@altlinux.ru X-BeenThere: sisyphus@altlinux.ru X-Mailman-Version: 2.0.13 Precedence: bulk Reply-To: sisyphus@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: On Mon, Sep 23, 2002 at 09:11:52AM +0300, Sanja Byelkin wrote: > > Скажите, а кто чем отлаживает программы на C++? gdb, по-моему, > > достаточно ущербный в этом плане. Во всяком случае, с задачей показа > > содержимого объектов сложных классов он практически не справляется. > > У меня тут библиотечка, написанная в ATL'ном стиле, показ любого > > сколько-нибудь сложного объекта кончается примерно так: > > > > (gdb) display p > > 1: p = {> = { > > p = 0x80688d8}, } > > 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, но как - я > не знаю). Да ddd-то ничем не поможет в моем случае. Команда graph display ничем не лучше display , то есть, как не работало, так и не работает. Собственно, изначально я ddd и пускал... > У меня с местным gdb другие проблемы - отладка в multithread. Временно > полечилось нестатической линковкой но (наверно после очередного обновления) > опять поплохело. Но я твердо увекрен что 1) проблема местная 2) частые > обновления оказалось тоже зло :) 3) прийдется что-то менять. Поищите в инете "Smart GDB". Правда, сдается мне, проект сдох года два как... Но вдруг...