From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15918 invoked by alias); 25 Oct 2006 20:08:44 -0000 Received: (qmail 15910 invoked by uid 22791); 25 Oct 2006 20:08:42 -0000 X-Spam-Check-By: sourceware.org Received: from heller.inter.net.il (HELO heller.inter.net.il) (192.114.186.73) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 25 Oct 2006 20:08:40 +0000 Received: from HOME-C4E4A596F7 (IGLD-84-229-255-17.inter.net.il [84.229.255.17]) by heller.inter.net.il (MOS 3.7.3a-GA) with ESMTP id AUZ99723 (AUTH halo1); Wed, 25 Oct 2006 22:08:35 +0200 (IST) Date: Wed, 25 Oct 2006 20:08:00 -0000 Message-Id: From: Eli Zaretskii To: Russell Shaw CC: gdb@sourceware.org In-reply-to: <453F68E9.9050800@netspace.net.au> (message from Russell Shaw on Wed, 25 Oct 2006 23:38:49 +1000) Subject: Re: Gdb Reply-to: Eli Zaretskii References: <453F0CA7.7070309@netspace.net.au> <20061025124921.GA15974@nevyn.them.org> <453F68E9.9050800@netspace.net.au> X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-10/txt/msg00244.txt.bz2 > Date: Wed, 25 Oct 2006 23:38:49 +1000 > From: Russell Shaw > CC: gdb@sourceware.org > > There are places with long sequences of: > > if() { > ... > } > > if() { > ... > } > > if() { > ... > } > > Instead of something more rigorous like: > > if() { > ... > } > else if { > ... These two are not the same. If you can show us places where the conditions are disjoint, i.e. they cannot happen together, please do. > When a "run" resets a simple breakpoint, the stack depth is no less > than 35 levels. That is not necessarily a sign of bad design. For example, when Emacs does garbage collection, the stack depth sometimes exceeds 10,000 levels when recursive data structures are marked. That is normal and by design. > It also invokes a tortuous 10-level trip thru various > "memory set" functions until it eventually reaches target_xfer_partial or whatever, > intermingled with re-reading symbol files, re-syncing dynamic libraries, and > resetting breakpoints. This multi-level trip is mostly for valid reasons. > It's undoable by anyone not intimately familiar with the code which means > weeks of prodding with a second gdb. That is a wild exaggeration, IMO. When I first came to hack GDB to submit a patch, it was no harder than in any other real-life program. Perhaps you lack good tools for learning programs, or don't use them to their full power.