From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32421 invoked by alias); 8 Jan 2002 16:53:02 -0000 Mailing-List: contact insight-prs-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: insight-prs-owner@sources.redhat.com Received: (qmail 32404 invoked by uid 71); 8 Jan 2002 16:53:02 -0000 Resent-Date: 8 Jan 2002 16:53:02 -0000 Resent-Message-ID: <20020108165302.32403.qmail@sources.redhat.com> Resent-From: insight-gnats@sourceware.cygnus.com (GNATS Filer) Resent-To: nobody@sourceware.cygnus.com Resent-Cc: insight-prs@sourceware.cygnus.com, vvv@oktet.ru Resent-Reply-To: insight-gnats@sourceware.cygnus.com, dedekind@oktet.ru Message-Id:<20020108164808.26985.qmail@sources.redhat.com> Date: Tue, 08 Jan 2002 08:53:00 -0000 From: dedekind@oktet.ru Reply-To: dedekind@oktet.ru To: insight-gnats@sourceware.cygnus.com Cc: vvv@oktet.ru X-Send-Pr-Version:gnatsweb-2.9.0 (1.6) X-GNATS-Notify:vvv@oktet.ru Subject: insight/119: Can't set breakpoint at inline methods in header files X-SW-Source: 2002-q1/txt/msg00056.txt.bz2 List-Id: >Number: 119 >Category: insight >Synopsis: Can't set breakpoint at inline methods in header files >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Tue Jan 08 08:53:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: dedekind@oktet.ru >Release: insight-5.1 >Organization: >Environment: host: RedHat 7.1, cygwin target: h8300-hms Should appear on other host/target pair too. >Description: insight-5.1 don't allow to set breakpoint on some inline methods, whoes bodies placed in class declaration in header file. Here is some ideas why this error occurs: 1. There are several 'symtab' structures for the same header file may exists - one for each .cpp source which includes this header. Therefore, each symtab contains some piece of full information about this header file (depending on context some information may be omitted, e.g. because function is not used). Therefore we need to read all these symtabs, not first only, as it is implemented in /gdb/gdbtk/generic/gdbtk-cmds.c, function gdb_loadfile. 2. When gdb_loadfile invoked for header file, we need to know, that all symtab structures for this header already created. But in current version of gdb_loadfile linetable built for first symtab only. Later, another symtab may appear in some conditions (when other sources are loaded). >How-To-Repeat: 1. Compile attached test. 2. Load it in insight 3. See, that you can't set breakpoint at one of funnctions set_a() or set_b() in example.h (by mouse pointer) >Fix: I have make ugly fix, but it seems it should be done more accurately. >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="exampl.tgz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="exampl.tgz" H4sIABwiOzwAA+3W3W6CMBgGYE7tVTTuBBZjCiIkkl2LKaXbuiES/uJi3LWvrT9R52LMgsuS9zmA Wlqrwls/nmVjUZZOn5jPWBSFDmNsGsbB8dnyA+awOPSjKGBxpNt+EE6YQ1mvn2qnrRteUepkMpPv qsh+Gnft+j/1oAqRt5mkQ7niizKX49chId1SZfS5LYRrWh5ZE6ot07d581FK00j2PeNaNvPU1bfY S8iG/PX3gdsc7nqPa1zL/8Rc2+Zfj/RN/uM4Rv7vQeS8rg/J1kEvK9XxRs5svlXRUD6iaULKNs2V mJ3sA65nX67JgNMnyhIySLdn07uxx88bxtpNx+wm3DXrdjxv5cks27OfcTolvTAlPZ9ijmSTYI86 suCq6LsAuJb/wJ8e5T8y+Y+CCfJ/D5f//+WqkVVBz8qAhBCTMvPI2Ljx6kWMqHjVv9+jbne7OuFb mbCvEriuEjzbY99z26xk0+qlGIoHAAAAAAAAAAAAAAAAAIBf+QK9QDQRACgAAA==