Re: Re: Inconsistency in line numbers.
| From: | Derick Rethans | Date: | Sun, 16 Apr 2017 08:16:39 +0000 |
| Subject: | Re: Re: Inconsistency in line numbers. | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-98811@lists.php.net to get a copy of this message | ||
On Sat, 15 Apr 2017, Stanislav Malyshev wrote:
> Hi!
>
> > behavior I wasn't aware of: https://3v4l.org/6fSRb In
> > backtraces the call
> > is located on the line of it's last argument (in PHP 5.6 the line of the
> > closing ")"). Wouldn't it make more sense to use the starting line of the
> > call? That is, use the same lineno for INIT_FCALL and DO_FCALL?
>
> Since the call happens after evaluating the arguments, if you debug in
> IDE and go through the arguments, it'll make IDE prompt jump back
> sometimes.
Debuggers generally, and Xdebug specifically, only allow interruptions
on function entry or on an EXT_STMT call, so that shouldn't be a problem
here.
OTOH, this is what gdb most definitely does for optimised C code. It
jumps back and forwards through code if the compiler has reorganised
statements.
> Not sure it's a good. Logically, it looks like first argument eval
> happens, then call happens, so linking it to ")" makes sense (if you
> read it left to right, that's kind of the point where the actual call
> happens).
I do agree with that though.
cheers,
Derick
--
https://derickrethans.nl | https://xdebug.org | https://dram.io
Like Xdebug? Consider a donation: https://xdebug.org/donate.php
twitter: @derickr and @xdebug