[Bug debug/91751] In backtrace, calls to c++ destructors are shown way afar from the actual place

Hi-Angel at yandex dot ru gcc-bugzilla@gcc.gnu.org
Thu Sep 12 10:40:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91751

--- Comment #3 from Konstantin Kharlamov <Hi-Angel at yandex dot ru> ---
(In reply to Jonathan Wakely from comment #2)
> The advantage of showing the location of the constructor is that you can see
> which object is being destroyed. If the location was shown as the end of the
> scope, all local variables would show the same location.

Fair enough. But it's confusing too. A function may have multiple places where
it "goes out of scope", and if you debug a problem involving an object
destructor, it's hard to understand which path got executed.

Besides, it's non-intuitive, it looks as if an object was just created, and
then immediately destroyed. What you describe, on the other hand, is a natural
problem, and should not be worked around by placing line number at place with
object creation.


More information about the Gcc-bugs mailing list