public inbox for gdb-prs@sourceware.org
help / color / mirror / Atom feed
From: "oss.sprigogin at gmail dot com" <sourceware-bugzilla@sourceware.org>
To: gdb-prs@sourceware.org
Subject: [Bug gdb/12332] New: Provide efficient source lookup for use by IDE
Date: Fri, 17 Dec 2010 13:34:00 -0000	[thread overview]
Message-ID: <bug-12332-4717@http.sourceware.org/bugzilla/> (raw)

http://sourceware.org/bugzilla/show_bug.cgi?id=12332

           Summary: Provide efficient source lookup for use by IDE
           Product: gdb
           Version: 7.2
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: gdb
        AssignedTo: unassigned@sourceware.org
        ReportedBy: oss.sprigogin@gmail.com


One feature that would be very useful for using gdb as a debugging backend for
Eclipse CDT is a new type of source lookup. Consider a scenario when a source
file is represented in debug information by its relative path, lets say
relative to directory D1. Currently it is possible to insert a line breakpoint
by either using a relative path exactly as it's represented in the debug
information, or by using an absolute path to the file and supplying D1 as part
of environment-directory. In the latter case gdb checks the file system to
verify that the source file exists. In a complex project source files my be
compiled relative to many different directories and keeping track of which
files were compiled relative to which directories becomes challenging. When
environment-directory contains a large number of directories, breakpoint
insertion by absolute path involves a lot of disk IO and becomes very slow,
especially when the underlying file system is slow.

The situation could be improved if gdb supported a different type of absolute
path source lookup. With this type of lookup an absolute path to a file is
effectively treated as a set of relative paths, of which gdb selects the
longest one matching the path in the debug information. In this mode an
absolute path received by GDB should be first matched against the debug
information as is, then, if there is no match, matched without the first
segment, then without the first two segments, and so on. Source lookup in this
mode should not depend on environment-directory and should not involve any IO.

Please see the Eclipse CDT bug
https://bugs.eclipse.org/bugs/show_bug.cgi?id=225805 for a longer discussion on
source lookup issues.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


             reply	other threads:[~2010-12-17  2:10 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-17 13:34 oss.sprigogin at gmail dot com [this message]
2011-02-25 22:56 ` [Bug gdb/12332] " jan.kratochvil at redhat dot com
2011-02-28  4:24 ` sprigogin at google dot com
2011-03-11 21:03 ` marc.khouzam at ericsson dot com
2011-03-11 21:07 ` marc.khouzam at ericsson dot com
2012-04-16 17:49 ` dje at google dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-12332-4717@http.sourceware.org/bugzilla/ \
    --to=sourceware-bugzilla@sourceware.org \
    --cc=gdb-prs@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).