This is the mail archive of the
insight-prs@sources.redhat.com
mailing list for the Insight project.
insight/119: Can't set breakpoint at inline methods in header files
- From: dedekind at oktet dot ru
- To: insight-gnats at sourceware dot cygnus dot com
- Cc: vvv at oktet dot ru
- Date: 8 Jan 2002 16:48:08 -0000
- Subject: insight/119: Can't set breakpoint at inline methods in header files
- Reply-to: dedekind at oktet dot ru
>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 <insight-5.1>/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==