[Bug 857541] New: after upgrade to 13.1 debugging with gdb (qt creator) is broken: backtrace.py missing
https://bugzilla.novell.com/show_bug.cgi?id=857541
https://bugzilla.novell.com/show_bug.cgi?id=857541#c0
Summary: after upgrade to 13.1 debugging with gdb (qt creator)
is broken: backtrace.py missing
Classification: openSUSE
Product: openSUSE 13.1
Version: Final
Platform: x86-64
OS/Version: openSUSE 13.1
Status: NEW
Severity: Major
Priority: P5 - None
Component: Development
AssignedTo: bnc-team-screening@forge.provo.novell.com
ReportedBy: saloution@googlemail.com
QAContact: qa-bugs@suse.de
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:26.0) Gecko/20100101
Firefox/26.0
Today I ran the distribution upgrade from 64bit 12.3 to 13.1.
Unfortunately debugging in my favourite envirenoment Qt Creator with gdb is
broken since then.
The debugger cannot resolve complex types anymore, e.g.:
typedef std::array
https://bugzilla.novell.com/show_bug.cgi?id=857541
https://bugzilla.novell.com/show_bug.cgi?id=857541#c1
--- Comment #1 from Robert Riemann
https://bugzilla.novell.com/show_bug.cgi?id=857541
https://bugzilla.novell.com/show_bug.cgi?id=857541#c
Xiyuan Liu
https://bugzilla.novell.com/show_bug.cgi?id=857541
https://bugzilla.novell.com/show_bug.cgi?id=857541#c2
--- Comment #2 from Richard Biener
https://bugzilla.novell.com/show_bug.cgi?id=857541
https://bugzilla.novell.com/show_bug.cgi?id=857541#c3
--- Comment #3 from Robert Riemann
https://bugzilla.novell.com/show_bug.cgi?id=857541
https://bugzilla.novell.com/show_bug.cgi?id=857541#c4
--- Comment #4 from Richard Biener
https://bugzilla.novell.com/show_bug.cgi?id=857541
https://bugzilla.novell.com/show_bug.cgi?id=857541#c5
--- Comment #5 from Robert Riemann
The extended example on 13.1, compiled with just -g does
rguenther@murzim:~> gdb ./a.out GNU gdb (GDB; devel:gcc) 7.6.50.20130731-cvs Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-suse-linux". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://bugs.opensuse.org/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word". .. Reading symbols from /suse/rguenther/a.out...done. (gdb) start ... (gdb) 31 blub.push_back(lool(1)); (gdb) p blub $1 = std::vector of length 1, capacity 1 = {{my_i = false}} (gdb) n 33 std::unique_ptr<lool> unique_lool(new lool(0)); (gdb) 34 cout << "unique lool: " << unique_lool->my_i << std::endl; (gdb) p unique_lool $2 = std::unique_ptr<lool> containing 0x605010
so it seems to work for me. Note that the libstdc++ pretty printers are contained in the libstdc++48-devel package, mine is
libstdc++48-devel-4.8.2+r205850-74.1.x86_64
can you check if it works for you with using gdb from the command-line as well?
I can confirm your gdb session. I got the same result. So std::array and std::vector seems to work with pure gdb, but not std::unique_ptr. I expected to not only get the memory address, but the content of the object lool that the pointer is pointing to. Something like: $2 = std::unique_ptr to lool = {my_i = 0} However, I will report an qt creator bug concerning the buggy setup of system gdb pretty printers. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=857541
https://bugzilla.novell.com/show_bug.cgi?id=857541#c6
--- Comment #6 from Richard Biener
(In reply to comment #4)
The extended example on 13.1, compiled with just -g does
rguenther@murzim:~> gdb ./a.out GNU gdb (GDB; devel:gcc) 7.6.50.20130731-cvs Copyright (C) 2013 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-suse-linux". Type "show configuration" for configuration details. For bug reporting instructions, please see: http://bugs.opensuse.org/. Find the GDB manual and other documentation resources online at: http://www.gnu.org/software/gdb/documentation/. For help, type "help". Type "apropos word" to search for commands related to "word". .. Reading symbols from /suse/rguenther/a.out...done. (gdb) start ... (gdb) 31 blub.push_back(lool(1)); (gdb) p blub $1 = std::vector of length 1, capacity 1 = {{my_i = false}} (gdb) n 33 std::unique_ptr<lool> unique_lool(new lool(0)); (gdb) 34 cout << "unique lool: " << unique_lool->my_i << std::endl; (gdb) p unique_lool $2 = std::unique_ptr<lool> containing 0x605010
so it seems to work for me. Note that the libstdc++ pretty printers are contained in the libstdc++48-devel package, mine is
libstdc++48-devel-4.8.2+r205850-74.1.x86_64
can you check if it works for you with using gdb from the command-line as well?
I can confirm your gdb session. I got the same result. So std::array and std::vector seems to work with pure gdb, but not std::unique_ptr.
I expected to not only get the memory address, but the content of the object lool that the pointer is pointing to. Something like: $2 = std::unique_ptr to lool = {my_i = 0}
Certainly a weakness. I'd have expected (gdb) p *unique_lool to work, but it doesn't :/ -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=857541
https://bugzilla.novell.com/show_bug.cgi?id=857541#c7
--- Comment #7 from Robert Riemann
https://bugzilla.novell.com/show_bug.cgi?id=857541
https://bugzilla.novell.com/show_bug.cgi?id=857541#c8
Richard Biener
http://bugzilla.novell.com/show_bug.cgi?id=857541
http://bugzilla.novell.com/show_bug.cgi?id=857541#c9
Richard Biener
participants (1)
-
bugzilla_noreply@novell.com