Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Joel Brobecker <brobecker@adacore.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Jim Blandy <jimb@codesourcery.com>,
	mark.kettenis@xs4all.nl, 	uweigand@de.ibm.com,
	msnyder@specifix.com, 	gdb-patches@sourceware.org
Subject: Re: [RFC/RFA?] Should break FILE:LINENO skip prologue?
Date: Sun, 20 Jan 2008 15:03:00 -0000	[thread overview]
Message-ID: <20080120150224.GI28020@adacore.com> (raw)
In-Reply-To: <uwsq6nd0d.fsf@gnu.org>

Hi Eli,

I think this is a great improvement in terms of clarity. Thanks!


> -@item @var{filename}:@var{number}
> -Specifies line @var{number} in the source file @var{filename}.
> +@item @var{filename}:@var{linenum}
> +Specifies the line @var{linenum} in the source file @var{filename}.
>  
>  @item @var{function}
>  Specifies the line that begins the body of the function @var{function}.
> -For example: in C, this is the line with the open brace.
> +For example, in C, this is the line with the open brace.

This is actually not true. It's usually the first line of code
past the open brace.

> As a convenience, @value{GDBN} extends the semantics of
> +expressions used in locations to cover the situations that frequently
> +happen during debugging.

I was a little bit confused at first by this sentence, as I thought
that you were saying that all the forms you are describing later are
extensions, which as you explain for C/C++/etc is not the case.
At the same time, I found it pretty hard to try to do better. Perhaps
if we took a different approach and made a subsection that describe
expressions that return the address of a function, and why they are
useful, then maybe we would be able to unconfuse things. For instance:

    Breaking on the first instruction of a function:
    
    Inserting a breakpoint on a function will result as documented at ... in
    a breakpoint at the first line of code inside the body of that function.
    Instead, you might sometimes want to break on the very first instruction
    of that function, inside the function prologue. To do that, you should
    use the *address linespec syntax, where address is an expression valid
    in the current language that returns the address of your function.
    
    All languages provide a way of getting a function address from its name,
    either as a valid expression for that language, or as an extension to
    this language.  Here they are:
    
      - C/C++/etc...: function_name.
      - Pascal and M2: &function_name.
      - Ada: function_name'Address. &function_name can also be used as
        an extension.

Hope this helps :)

-- 
Joel


  reply	other threads:[~2008-01-20 15:03 UTC|newest]

Thread overview: 98+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-09 15:18 Joel Brobecker
2008-01-09 19:11 ` Jim Blandy
2008-01-09 19:16   ` Daniel Jacobowitz
2008-01-09 19:46     ` Joel Brobecker
2008-01-09 20:38       ` Eric Botcazou
2008-01-10 11:01         ` Mark Kettenis
2008-01-10 11:45           ` Eric Botcazou
2008-01-10 21:47             ` Michael Snyder
2008-01-10 22:10               ` Mark Kettenis
2008-01-11  5:36                 ` Joel Brobecker
2008-01-11 11:28                   ` Mark Kettenis
2008-01-11 18:22                     ` Joel Brobecker
2008-01-11 21:07                       ` Eli Zaretskii
2008-01-11 21:14                         ` Mark Kettenis
2008-01-12 12:18                           ` Eli Zaretskii
2008-01-12 14:30                             ` Joel Brobecker
2008-01-12 12:25                           ` Eli Zaretskii
2008-01-12 14:35                             ` Joel Brobecker
2008-01-12 15:32                             ` Mark Kettenis
2008-01-12 15:55                               ` Eli Zaretskii
2008-01-12 16:03                                 ` Joel Brobecker
2008-01-12 16:26                                   ` Eli Zaretskii
2008-01-12 16:18                                 ` Mark Kettenis
2008-01-12 16:57                                   ` Eli Zaretskii
2008-01-12 17:58                                     ` Daniel Jacobowitz
2008-01-13  4:22                                       ` Eli Zaretskii
2008-01-13  6:25                                         ` Joel Brobecker
2008-01-13  6:54                                           ` Eli Zaretskii
2008-01-13 10:36                                             ` Joel Brobecker
2008-01-14 23:02                                               ` Michael Snyder
2008-01-15  3:57                                                 ` Joel Brobecker
2008-01-14 22:57                                             ` Michael Snyder
2008-01-13  9:21                                         ` Mark Kettenis
2008-01-13 10:19                                           ` Eli Zaretskii
2008-01-14 22:25                                             ` Jim Blandy
2008-01-14 22:33                                               ` Mark Kettenis
2008-01-14 10:30                                           ` Pierre Muller
2008-01-14 12:25                                             ` Daniel Jacobowitz
2008-01-14 23:00                                           ` Michael Snyder
2008-01-15 17:13                                             ` Jim Blandy
2008-01-14 22:17                                         ` Jim Blandy
2008-01-14 22:50                               ` Michael Snyder
2008-01-15 12:29                                 ` Daniel Jacobowitz
2008-01-15 12:39                                   ` Joel Brobecker
2008-01-15 17:15                                     ` Jim Blandy
2008-01-15 18:47                                     ` Eli Zaretskii
2008-01-15 21:40                                       ` Ulrich Weigand
2008-01-15 23:24                                         ` Andreas Schwab
2008-01-16  4:21                                           ` Eli Zaretskii
2008-01-16  9:13                                             ` Andreas Schwab
2008-01-16 18:49                                               ` Eli Zaretskii
2008-01-16 21:13                                                 ` Andreas Schwab
2008-01-16  4:15                                         ` Eli Zaretskii
2008-01-16  4:20                                         ` Eli Zaretskii
2008-01-16 10:35                                           ` Mark Kettenis
2008-01-16 18:57                                             ` Eli Zaretskii
2008-01-16 21:36                                               ` Jim Blandy
2008-01-17  4:13                                                 ` Eli Zaretskii
2008-01-17  4:18                                                   ` Michael Snyder
2008-01-17  9:47                                                     ` Mark Kettenis
2008-01-17 21:51                                                       ` Michael Snyder
2008-01-17 22:09                                                         ` Jim Blandy
2008-01-17 23:42                                                           ` Michael Snyder
2008-01-17 18:38                                                   ` Jim Blandy
2008-01-19 13:47                                                     ` Eli Zaretskii
2008-01-20 15:03                                                       ` Joel Brobecker [this message]
2008-01-20 19:50                                                         ` Eli Zaretskii
2008-01-21  2:27                                                           ` Joel Brobecker
2008-01-26 19:58                                                             ` Eli Zaretskii
2008-01-16 21:25                                         ` Jim Blandy
2008-01-16  2:10                                   ` Michael Snyder
2008-01-11 20:32                   ` Michael Snyder
2008-01-11 20:36                     ` Eric Botcazou
2008-01-10 22:21               ` Eric Botcazou
2008-01-10 14:06           ` Daniel Jacobowitz
2008-01-10 17:06             ` Jim Blandy
2008-01-09 19:44   ` Joel Brobecker
2008-01-09 19:16 ` Mark Kettenis
2008-01-09 20:01   ` Joel Brobecker
2008-01-09 20:25 ` Michael Snyder
2008-01-09 20:35   ` Joel Brobecker
2008-01-09 21:05     ` Michael Snyder
2008-01-10  4:16       ` Joel Brobecker
2008-01-10  9:29         ` Andreas Schwab
2008-01-11 10:35           ` Eli Zaretskii
2008-01-10 10:39         ` Mark Kettenis
2008-01-10 15:39           ` Joel Brobecker
2008-01-10 15:51           ` Daniel Jacobowitz
2008-01-11 10:44             ` Eli Zaretskii
2008-01-10  4:16       ` Eli Zaretskii
2008-01-10 15:46       ` Daniel Jacobowitz
2008-01-10 21:49         ` Michael Snyder
2008-01-10 17:15   ` Jim Blandy
2008-01-31 22:17 ` Daniel Jacobowitz
2008-01-31 22:59   ` Joel Brobecker
2008-02-02  1:20   ` Joel Brobecker
2008-02-27 19:48     ` Daniel Jacobowitz
2008-02-27 20:52       ` Joel Brobecker

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=20080120150224.GI28020@adacore.com \
    --to=brobecker@adacore.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    --cc=jimb@codesourcery.com \
    --cc=mark.kettenis@xs4all.nl \
    --cc=msnyder@specifix.com \
    --cc=uweigand@de.ibm.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