From: Bob Rossi <bob_rossi@cox.net>
To: gdb@sources.redhat.com
Subject: Re: text file formats
Date: Thu, 06 Apr 2006 00:14:00 -0000 [thread overview]
Message-ID: <20060406001455.GC11610@brasko.net> (raw)
In-Reply-To: <20060405233938.GA11013@nevyn.them.org>
On Wed, Apr 05, 2006 at 07:39:38PM -0400, Daniel Jacobowitz wrote:
> On Wed, Apr 05, 2006 at 06:31:22PM -0400, Bob Rossi wrote:
> > One thing I have determined, is that in order to know what the file
> > format is, the entire text file needs to be parsed. After that, either
> > the file format is defined (unix/dos/mac) or it is undefined (mix of
> > them).
> >
> > I would like to make sure that the algorithm CGDB uses to determine
> > the line number from a file is the same algorithm that GDB uses. Can
> > anyone point me in the correct direction?
>
> GDB does something much simpler. It opens the file in text mode and
> lets the C library sort it out.
>
> Well, usually. In search and reverse search it sometimes uses a
> similar but slightly simpler algorithm: ignore '\r' if followed by
> '\n'. I'm not sure why those are done in binary mode.
OK, so now I'm confused. If the user looks at the text file through my
viewer, and set's a breakpoint at line 100, how can I be sure it's the
same 100 that GDB will actually set a breakpoint at? Obviously this
works for unix and dos file formats. But from the algorithm you stated
above, it doesn't look like GDB will work with mac file formats.
I mean, the C library on unix won't be able to read a file that was
created on a mac (at least with the mac file format).
Is GDB responsible for mapping the file line numbers to the actual lines?
or is this the responsibility of GCC via the debug info? For instance,
if foo () is defined at line 100 according to gcc and 101 according to
GDB, does CGDB have to think foo () is at line 100 or 101?
Thanks,
Bob Rossi
next prev parent reply other threads:[~2006-04-06 0:14 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-05 22:31 Bob Rossi
2006-04-05 23:39 ` Daniel Jacobowitz
2006-04-06 0:14 ` Bob Rossi [this message]
2006-04-06 1:17 ` Daniel Jacobowitz
2006-04-06 3:27 ` Bob Rossi
2006-04-06 3:35 ` Eli Zaretskii
2006-04-06 5:06 ` Daniel Jacobowitz
2006-04-06 13:03 ` Daniel Jacobowitz
2006-04-06 14:01 ` Bob Rossi
2006-04-06 14:41 ` Daniel Jacobowitz
2006-04-06 19:20 ` Eli Zaretskii
2006-04-06 19:32 ` Bob Rossi
2006-04-06 23:55 ` Daniel Jacobowitz
2006-04-07 13:33 ` Eli Zaretskii
2006-04-06 20:55 ` Paul Koning
2006-04-07 11:54 ` Eli Zaretskii
2006-04-06 19:07 ` Eli Zaretskii
2006-04-06 3:47 ` Eli Zaretskii
2006-04-06 4:29 ` Daniel Jacobowitz
2006-04-06 4:30 ` Daniel Jacobowitz
2006-04-06 3:43 ` Eli Zaretskii
2006-04-06 13:35 ` Bob Rossi
2006-04-06 19:01 ` Eli Zaretskii
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=20060406001455.GC11610@brasko.net \
--to=bob_rossi@cox.net \
--cc=gdb@sources.redhat.com \
/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