Bug 280201 - Debugger terminates when stepping into a function
Summary: Debugger terminates when stepping into a function
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: CPP Debugger (show other bugs)
Version: 4.2.3
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: 4.2.3
Assignee: kdevelop-bugs-null
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-16 16:27 UTC by zarzych
Modified: 2011-10-05 18:52 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description zarzych 2011-08-16 16:27:27 UTC
Version:           4.2.3 (using KDE 4.7.0) 
OS:                Linux

When I step into a specific function (details in repro steps below), the debugger stops as soon as I step from the opening brace line to the first line of the function. There are no messages printed in .xsession_errors or debugging toolview in kdevelop.

The problem occurs when debugging pimimport application from kdepim:gsoc_pimimport repository. The application dumps contents of akonadi of selected akonadi resources and should not cause any data loss. However, please do make backup :)

Unfortunately, I'm not able to reproduce the problem in a simple test application.

Reproducible: Didn't try

Steps to Reproduce:
-- Set up repository
1. git clone git@git.kde.org:kdepim
2. git branch pimimport origin/gsoc_pimimport
3. git checkout pimimport
-- Import project into KDevelop
4. open kdevelop
5. import project $repo_root/CMakeLists.txt
6. open project preferences and set 'pimimport' as default make target
7. build project
8. create debug launch for target 'pimimport' with argument '--dump'
-- Debug and observe problem
9. open file $repo_root/pimimport/resourcedumpjob.cpp
10. set breakpoint at line 19 (opening brace of ResourceDumpJob::start() )
11. start debugging - pimimport window is shown
12. click the '...' button next to 'Path' input
13. create a new directory and select it
14. click 'Next'
15. check combobox next to any resource in the grid
16. click 'Finish' - our breakpoint is hit
17. click 'Step Over'

Actual Results:  
The debug session terminates and pimimport is terminated.

Expected Results:  
The debug session continues.

Problem exists also in git master.
Comment 1 zarzych 2011-08-16 16:29:50 UTC
The bug is always reproducible with given repro steps.
Comment 2 Niko Sams 2011-08-19 18:44:55 UTC
Hm, I cannot reproduce this. I just stepped through ResourceDumpJob::start(). Which gdb version do you use?

And, please open GDB Tool View, right click and select "Show Internal Commands". Please post the commands you get there. That will hopefully bring some light into this :D
Comment 3 zarzych 2011-08-20 11:39:29 UTC
I'm running
GNU gdb (Gentoo 7.3 p1) 7.3


Following are the contents of GDB Tool View when hitting the breakpoint in resourcedumpjob.cpp:20

gdb --interpreter=mi2 -quiet
(gdb) -gdb-show version
GNU gdb (Gentoo 7.3 p1) 7.3
Copyright (C) 2011 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-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>.
^done
(gdb) -gdb-set width 0
^done
(gdb) -gdb-set height 0
^done
(gdb) handle SIG32 pass nostop noprint
handle SIG32 pass nostop noprint
Signal Stop Print Pass to program Description
SIG32 No No Yes Real-time event 32
^done
(gdb) handle SIG41 pass nostop noprint
handle SIG41 pass nostop noprint
Signal Stop Print Pass to program Description
SIG41 No No Yes Real-time event 41
^done
(gdb) handle SIG42 pass nostop noprint
handle SIG42 pass nostop noprint
Signal Stop Print Pass to program Description
SIG42 No No Yes Real-time event 42
^done
(gdb) handle SIG43 pass nostop noprint
handle SIG43 pass nostop noprint
Signal Stop Print Pass to program Description
SIG43 No No Yes Real-time event 43
^done
(gdb) -enable-pretty-printing
^done
(gdb) -gdb-set charset UTF-8
^done
(gdb) -gdb-set print sevenbit-strings off
^done
(gdb) source /usr/share/apps/kdevgdb/printers/gdbinit
source /usr/share/apps/kdevgdb/printers/gdbinit
^done
(gdb) -inferior-tty-set /dev/pts/3
^done
(gdb) -environment-cd /home/zarzych/coding/kdepim/kdepim/build/pimimport
^done
(gdb) -exec-arguments --dump
^done
(gdb) -gdb-set print static-members off
^done
(gdb) -gdb-set print asm-demangle on
^done
(gdb) -file-exec-and-symbols /home/zarzych/coding/kdepim/kdepim/build/pimimport/pimimport
^done
(gdb) -break-list
^done,BreakpointTable={nr_rows="0",nr_cols="6",hdr=[{width="7",alignment="-1",col_name="number",colhdr="Num"},{width="14",alignment="-1",col_name="type",colhdr="Type"},{width="4",alignment="-1",col_name="disp",colhdr="Disp"},{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},{width="10",alignment="-1",col_name="addr",colhdr="Address"},{width="40",alignment="2",col_name="what",colhdr="What"}],body=[]}
(gdb) -break-insert -f /home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp:20
^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000000411240",func="ResourceDumpJob::start()",file="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",line="20",times="0",original-location="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp:20"}
(gdb) -exec-run
=thread-group-started,id="i1",pid="31441"
=thread-created,id="1",group-id="i1"
^running
*running,thread-id="all"
=library-loaded,id="/lib64/ld-linux-x86-64.so.2",target-name="/lib64/ld-linux-x86-64.so.2",host-name="/lib64/ld-linux-x86-64.so.2",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libakonadi-kde.so.4",target-name="/usr/lib64/libakonadi-kde.so.4",host-name="/usr/lib64/libakonadi-kde.so.4",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libkdecore.so.5",target-name="/usr/lib64/libkdecore.so.5",host-name="/usr/lib64/libkdecore.so.5",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libkio.so.5",target-name="/usr/lib64/libkio.so.5",host-name="/usr/lib64/libkio.so.5",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/qt4/libQtCore.so.4",target-name="/usr/lib64/qt4/libQtCore.so.4",host-name="/usr/lib64/qt4/libQtCore.so.4",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libpthread.so.0",target-name="/lib64/libpthread.so.0",host-name="/lib64/libpthread.so.0",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/qt4/libQtNetwork.so.4",target-name="/usr/lib64/qt4/libQtNetwork.so.4",host-name="/usr/lib64/qt4/libQtNetwork.so.4",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/qt4/libQtXml.so.4",target-name="/usr/lib64/qt4/libQtXml.so.4",host-name="/usr/lib64/qt4/libQtXml.so.4",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libkdeui.so.5",target-name="/usr/lib64/libkdeui.so.5",host-name="/usr/lib64/libkdeui.so.5",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/qt4/libQtGui.so.4",target-name="/usr/lib64/qt4/libQtGui.so.4",host-name="/usr/lib64/qt4/libQtGui.so.4",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/qt4/libQtSvg.so.4",target-name="/usr/lib64/qt4/libQtSvg.so.4",host-name="/usr/lib64/qt4/libQtSvg.so.4",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/qt4/libQtDBus.so.4",target-name="/usr/lib64/qt4/libQtDBus.so.4",host-name="/usr/lib64/qt4/libQtDBus.so.4",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6",target-name="/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6",host-name="/usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libm.so.6",target-name="/lib64/libm.so.6",host-name="/lib64/libm.so.6",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libgcc_s.so.1",target-name="/lib64/libgcc_s.so.1",host-name="/lib64/libgcc_s.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libc.so.6",target-name="/lib64/libc.so.6",host-name="/lib64/libc.so.6",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/qt4/libQtSql.so.4",target-name="/usr/lib64/qt4/libQtSql.so.4",host-name="/usr/lib64/qt4/libQtSql.so.4",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libsolid.so.4",target-name="/usr/lib64/libsolid.so.4",host-name="/usr/lib64/libsolid.so.4",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libakonadiprotocolinternals.so.1",target-name="/usr/lib64/libakonadiprotocolinternals.so.1",host-name="/usr/lib64/libakonadiprotocolinternals.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libz.so.1",target-name="/lib64/libz.so.1",host-name="/lib64/libz.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libbz2.so.1",target-name="/lib64/libbz2.so.1",host-name="/lib64/libbz2.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/liblzma.so.5",target-name="/usr/lib64/liblzma.so.5",host-name="/usr/lib64/liblzma.so.5",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libfam.so.0",target-name="/usr/lib64/libfam.so.0",host-name="/usr/lib64/libfam.so.0",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libnepomuk.so.4",target-name="/usr/lib64/libnepomuk.so.4",host-name="/usr/lib64/libnepomuk.so.4",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libX11.so.6",target-name="/usr/lib64/libX11.so.6",host-name="/usr/lib64/libX11.so.6",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libstreamanalyzer.so.0",target-name="/usr/lib64/libstreamanalyzer.so.0",host-name="/usr/lib64/libstreamanalyzer.so.0",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libacl.so.1",target-name="/lib64/libacl.so.1",host-name="/lib64/libacl.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libattr.so.1",target-name="/lib64/libattr.so.1",host-name="/lib64/libattr.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libXrender.so.1",target-name="/usr/lib64/libXrender.so.1",host-name="/usr/lib64/libXrender.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libgthread-2.0.so.0",target-name="/usr/lib64/libgthread-2.0.so.0",host-name="/usr/lib64/libgthread-2.0.so.0",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/librt.so.1",target-name="/lib64/librt.so.1",host-name="/lib64/librt.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libglib-2.0.so.0",target-name="/usr/lib64/libglib-2.0.so.0",host-name="/usr/lib64/libglib-2.0.so.0",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libdl.so.2",target-name="/lib64/libdl.so.2",host-name="/lib64/libdl.so.2",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libSM.so.6",target-name="/usr/lib64/libSM.so.6",host-name="/usr/lib64/libSM.so.6",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libICE.so.6",target-name="/usr/lib64/libICE.so.6",host-name="/usr/lib64/libICE.so.6",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libattica.so.0",target-name="/usr/lib64/libattica.so.0",host-name="/usr/lib64/libattica.so.0",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libdbusmenu-qt.so.2",target-name="/usr/lib64/libdbusmenu-qt.so.2",host-name="/usr/lib64/libdbusmenu-qt.so.2",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libXtst.so.6",target-name="/usr/lib64/libXtst.so.6",host-name="/usr/lib64/libXtst.so.6",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libXcursor.so.1",target-name="/usr/lib64/libXcursor.so.1",host-name="/usr/lib64/libXcursor.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libXfixes.so.3",target-name="/usr/lib64/libXfixes.so.3",host-name="/usr/lib64/libXfixes.so.3",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libpng14.so.14",target-name="/usr/lib64/libpng14.so.14",host-name="/usr/lib64/libpng14.so.14",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libfreetype.so.6",target-name="/usr/lib64/libfreetype.so.6",host-name="/usr/lib64/libfreetype.so.6",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libXrandr.so.2",target-name="/usr/lib64/libXrandr.so.2",host-name="/usr/lib64/libXrandr.so.2",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libXinerama.so.1",target-name="/usr/lib64/libXinerama.so.1",host-name="/usr/lib64/libXinerama.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libfontconfig.so.1",target-name="/usr/lib64/libfontconfig.so.1",host-name="/usr/lib64/libfontconfig.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libXext.so.6",target-name="/usr/lib64/libXext.so.6",host-name="/usr/lib64/libXext.so.6",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libdbus-1.so.3",target-name="/usr/lib64/libdbus-1.so.3",host-name="/usr/lib64/libdbus-1.so.3",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libudev.so.0",target-name="/lib64/libudev.so.0",host-name="/lib64/libudev.so.0",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libsoprano.so.4",target-name="/usr/lib64/libsoprano.so.4",host-name="/usr/lib64/libsoprano.so.4",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libsopranoclient.so.1",target-name="/usr/lib64/libsopranoclient.so.1",host-name="/usr/lib64/libsopranoclient.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libxcb.so.1",target-name="/usr/lib64/libxcb.so.1",host-name="/usr/lib64/libxcb.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libstreams.so.0",target-name="/usr/lib64/libstreams.so.0",host-name="/usr/lib64/libstreams.so.0",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libxml2.so.2",target-name="/usr/lib64/libxml2.so.2",host-name="/usr/lib64/libxml2.so.2",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libuuid.so.1",target-name="/lib64/libuuid.so.1",host-name="/lib64/libuuid.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libexpat.so.1",target-name="/usr/lib64/libexpat.so.1",host-name="/usr/lib64/libexpat.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libXau.so.6",target-name="/usr/lib64/libXau.so.6",host-name="/usr/lib64/libXau.so.6",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libXdmcp.so.6",target-name="/usr/lib64/libXdmcp.so.6",host-name="/usr/lib64/libXdmcp.so.6",symbols-loaded="0",thread-group="i1"
[Thread debugging using libthread_db enabled]
Traceback (most recent call last):
File "/usr/share/gdb/auto-load/usr/lib64/gcc/x86_64-pc-linux-gnu/4.5.3/libstdc++.so.6.0.14-gdb.py", line 59, in <module>
from libstdcxx.v6.printers import register_libstdcxx_printers
ImportError: No module named v6.printers
=library-loaded,id="/usr/lib64/gconv/UTF-16.so",target-name="/usr/lib64/gconv/UTF-16.so",host-name="/usr/lib64/gconv/UTF-16.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libXi.so",target-name="/usr/lib64/libXi.so",host-name="/usr/lib64/libXi.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/kde4/plugins/gui_platform/libkde.so",target-name="/usr/lib64/kde4/plugins/gui_platform/libkde.so",host-name="/usr/lib64/kde4/plugins/gui_platform/libkde.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/kde4/plugins/styles/oxygen.so",target-name="/usr/lib64/kde4/plugins/styles/oxygen.so",host-name="/usr/lib64/kde4/plugins/styles/oxygen.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/liboxygenstyle.so.4",target-name="/usr/lib64/liboxygenstyle.so.4",host-name="/usr/lib64/liboxygenstyle.so.4",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/qt4/plugins/imageformats/libqgif.so",target-name="/usr/lib64/qt4/plugins/imageformats/libqgif.so",host-name="/usr/lib64/qt4/plugins/imageformats/libqgif.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/qt4/plugins/imageformats/libqico.so",target-name="/usr/lib64/qt4/plugins/imageformats/libqico.so",host-name="/usr/lib64/qt4/plugins/imageformats/libqico.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/qt4/plugins/imageformats/libqjpeg.so",target-name="/usr/lib64/qt4/plugins/imageformats/libqjpeg.so",host-name="/usr/lib64/qt4/plugins/imageformats/libqjpeg.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libjpeg.so.8",target-name="/usr/lib64/libjpeg.so.8",host-name="/usr/lib64/libjpeg.so.8",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/qt4/plugins/imageformats/libqmng.so",target-name="/usr/lib64/qt4/plugins/imageformats/libqmng.so",host-name="/usr/lib64/qt4/plugins/imageformats/libqmng.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libmng.so.1",target-name="/usr/lib64/libmng.so.1",host-name="/usr/lib64/libmng.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/liblcms.so.1",target-name="/usr/lib64/liblcms.so.1",host-name="/usr/lib64/liblcms.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/qt4/plugins/imageformats/libqsvg.so",target-name="/usr/lib64/qt4/plugins/imageformats/libqsvg.so",host-name="/usr/lib64/qt4/plugins/imageformats/libqsvg.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/qt4/plugins/imageformats/libqtiff.so",target-name="/usr/lib64/qt4/plugins/imageformats/libqtiff.so",host-name="/usr/lib64/qt4/plugins/imageformats/libqtiff.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libtiff.so.5",target-name="/usr/lib64/libtiff.so.5",host-name="/usr/lib64/libtiff.so.5",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/kde4/plugins/imageformats/kimg_dds.so",target-name="/usr/lib64/kde4/plugins/imageformats/kimg_dds.so",host-name="/usr/lib64/kde4/plugins/imageformats/kimg_dds.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/kde4/plugins/imageformats/kimg_eps.so",target-name="/usr/lib64/kde4/plugins/imageformats/kimg_eps.so",host-name="/usr/lib64/kde4/plugins/imageformats/kimg_eps.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/kde4/plugins/imageformats/kimg_pcx.so",target-name="/usr/lib64/kde4/plugins/imageformats/kimg_pcx.so",host-name="/usr/lib64/kde4/plugins/imageformats/kimg_pcx.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/kde4/plugins/imageformats/kimg_pic.so",target-name="/usr/lib64/kde4/plugins/imageformats/kimg_pic.so",host-name="/usr/lib64/kde4/plugins/imageformats/kimg_pic.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/kde4/plugins/imageformats/kimg_psd.so",target-name="/usr/lib64/kde4/plugins/imageformats/kimg_psd.so",host-name="/usr/lib64/kde4/plugins/imageformats/kimg_psd.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/kde4/plugins/imageformats/kimg_ras.so",target-name="/usr/lib64/kde4/plugins/imageformats/kimg_ras.so",host-name="/usr/lib64/kde4/plugins/imageformats/kimg_ras.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/kde4/plugins/imageformats/kimg_rgb.so",target-name="/usr/lib64/kde4/plugins/imageformats/kimg_rgb.so",host-name="/usr/lib64/kde4/plugins/imageformats/kimg_rgb.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/kde4/plugins/imageformats/kimg_tga.so",target-name="/usr/lib64/kde4/plugins/imageformats/kimg_tga.so",host-name="/usr/lib64/kde4/plugins/imageformats/kimg_tga.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/kde4/plugins/imageformats/kimg_xcf.so",target-name="/usr/lib64/kde4/plugins/imageformats/kimg_xcf.so",host-name="/usr/lib64/kde4/plugins/imageformats/kimg_xcf.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/kde4/plugins/imageformats/kimg_xview.so",target-name="/usr/lib64/kde4/plugins/imageformats/kimg_xview.so",host-name="/usr/lib64/kde4/plugins/imageformats/kimg_xview.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libnss_compat.so.2",target-name="/lib64/libnss_compat.so.2",host-name="/lib64/libnss_compat.so.2",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libnsl.so.1",target-name="/lib64/libnsl.so.1",host-name="/lib64/libnsl.so.1",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libnss_nis.so.2",target-name="/lib64/libnss_nis.so.2",host-name="/lib64/libnss_nis.so.2",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/lib64/libnss_files.so.2",target-name="/lib64/libnss_files.so.2",host-name="/lib64/libnss_files.so.2",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/kde4/kfilemodule.so",target-name="/usr/lib64/kde4/kfilemodule.so",host-name="/usr/lib64/kde4/kfilemodule.so",symbols-loaded="0",thread-group="i1"
=library-loaded,id="/usr/lib64/libkfile.so.4",target-name="/usr/lib64/libkfile.so.4",host-name="/usr/lib64/libkfile.so.4",symbols-loaded="0",thread-group="i1"
=thread-created,id="2",group-id="i1"
[New Thread 0x7fffe9400700 (LWP 31444)]
*running,thread-id="all"
=thread-created,id="3",group-id="i1"
[New Thread 0x7fffe8bff700 (LWP 31448)]
*running,thread-id="all"
*stopped,reason="breakpoint-hit",disp="keep",bkptno="1",frame={addr="0x0000000000411240",func="ResourceDumpJob::start",args=[{name="this",value="0xbcfcb0"}],file="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",line="20"},thread-id="1",stopped-threads="all",core="1"
(gdb) -stack-list-locals --frame 0 --simple-values
^error,msg="Cannot specify --frame without --thread"
(gdb) -var-update --frame 0 --all-values *
^error,msg="Cannot specify --frame without --thread"
(gdb) -thread-info
^done,threads=[{id="3",target-id="Thread 0x7fffe8bff700 (LWP 31448)",name="pimimport",frame={level="0",addr="0x00007ffff4189ac3",func="select",args=[],file="../sysdeps/unix/syscall-template.S",line="82"},state="stopped",core="1"},{id="2",target-id="Thread 0x7fffe9400700 (LWP 31444)",name="pimimport",frame={level="0",addr="0x00007ffff4187513",func="*__GI___poll",args=[{name="fds",value="<optimized out>"},{name="nfds",value="<optimized out>"},{name="timeout",value="<optimized out>"}],file="../sysdeps/unix/sysv/linux/poll.c",line="87"},state="stopped",core="1"},{id="1",target-id="Thread 0x7ffff7fab760 (LWP 31441)",name="pimimport",frame={level="0",addr="0x0000000000411240",func="ResourceDumpJob::start",args=[{name="this",value="0xbcfcb0"}],file="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",line="20"},state="stopped",core="1"}],current-thread-id="1"
(gdb) -break-list
^done,BreakpointTable={nr_rows="1",nr_cols="6",hdr=[{width="7",alignment="-1",col_name="number",colhdr="Num"},{width="14",alignment="-1",col_name="type",colhdr="Type"},{width="4",alignment="-1",col_name="disp",colhdr="Disp"},{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},{width="18",alignment="-1",col_name="addr",colhdr="Address"},{width="40",alignment="2",col_name="what",colhdr="What"}],body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000000411240",func="ResourceDumpJob::start()",file="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",line="20",times="1",original-location="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp:20"}]}
(gdb) -stack-list-frames --thread 1 --frame 0 0 21
^done,stack=[frame={level="0",addr="0x0000000000411240",func="ResourceDumpJob::start",file="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",line="20"},frame={level="1",addr="0x0000000000416f67",func="AkonadiDumpAssistant::accept",file="/home/zarzych/coding/kdepim/kdepim/pimimport/akonadidumpassistant.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/pimimport/akonadidumpassistant.cpp",line="56"},frame={level="2",addr="0x00007ffff571a375",func="QDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/qt4/libQtGui.so.4"},frame={level="3",addr="0x00007ffff5eecb65",func="KDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/libkdeui.so.5"},frame={level="4",addr="0x00007ffff5fc2bf0",func="KPageDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/libkdeui.so.5"},frame={level="5",addr="0x00007ffff5edb698",func="KAssistantDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/libkdeui.so.5"},frame={level="6",addr="0x000000000040baf0",func="AkonadiDumpAssistant::qt_metacall",file="/home/zarzych/coding/kdepim/kdepim/build/pimimport/moc_akonadidumpassistant.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/build/pimimport/moc_akonadidumpassistant.cpp",line="69"},frame={level="7",addr="0x00007ffff6cd5637",func="QMetaObject::activate(QObject*, QMetaObject const*, int, void**)",from="/usr/lib64/qt4/libQtCore.so.4"},frame={level="8",addr="0x00007ffff5eec7ec",func="KDialog::slotButtonClicked(int)",from="/usr/lib64/libkdeui.so.5"},frame={level="9",addr="0x00007ffff5eece52",func="KDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/libkdeui.so.5"},frame={level="10",addr="0x00007ffff5fc2bf0",func="KPageDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/libkdeui.so.5"},frame={level="11",addr="0x00007ffff5edb698",func="KAssistantDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/libkdeui.so.5"},frame={level="12",addr="0x000000000040baf0",func="AkonadiDumpAssistant::qt_metacall",file="/home/zarzych/coding/kdepim/kdepim/build/pimimport/moc_akonadidumpassistant.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/build/pimimport/moc_akonadidumpassistant.cpp",line="69"},frame={level="13",addr="0x00007ffff6cd5637",func="QMetaObject::activate(QObject*, QMetaObject const*, int, void**)",from="/usr/lib64/qt4/libQtCore.so.4"},frame={level="14",addr="0x00007ffff6cda0ae",func="QSignalMapper::mapped(int)",from="/usr/lib64/qt4/libQtCore.so.4"},frame={level="15",addr="0x00007ffff6cda1b6",func="QSignalMapper::map(QObject*)",from="/usr/lib64/qt4/libQtCore.so.4"},frame={level="16",addr="0x00007ffff6cda8f0",func="QSignalMapper::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/qt4/libQtCore.so.4"},frame={level="17",addr="0x00007ffff6cd5637",func="QMetaObject::activate(QObject*, QMetaObject const*, int, void**)",from="/usr/lib64/qt4/libQtCore.so.4"},frame={level="18",addr="0x00007ffff58d1ec2",func="QAbstractButton::clicked(bool)",from="/usr/lib64/qt4/libQtGui.so.4"},frame={level="19",addr="0x00007ffff561a1db",func="??",from="/usr/lib64/qt4/libQtGui.so.4"},frame={level="20",addr="0x00007ffff561b79b",func="??",from="/usr/lib64/qt4/libQtGui.so.4"},frame={level="21",addr="0x00007ffff561ba0c",func="QAbstractButton::mouseReleaseEvent(QMouseEvent*)",from="/usr/lib64/qt4/libQtGui.so.4"}]
(gdb) -stack-list-locals --thread 1 --frame 0 --simple-values
^done,locals=[]
(gdb) -var-update --thread 1 --frame 0 --all-values *
^done,changelist=[]
(gdb) -stack-list-arguments --thread 1 --frame 0 0 0 0
^done,stack-args=[frame={level="0",args=[name="this"]}]
(gdb) -var-create --thread 1 --frame 0 var0 @ "this"
^done,name="var0",numchild="3",value="0xbcfcb0",type="ResourceDumpJob * const",thread-id="1",has_more="0"


And now after hitting Step Over and termination of the debugging session:

(gdb) -exec-next
^running
*running,thread-id="1"
*running,thread-id="all"
*stopped,reason="end-stepping-range",frame={addr="0x0000000000411249",func="ResourceDumpJob::start",args=[{name="this",value="0xbcfcb0"}],file="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",line="21"},thread-id="1",stopped-threads="all",core="0"
(gdb) -thread-info
^done,threads=[{id="3",target-id="Thread 0x7fffe8bff700 (LWP 31448)",name="pimimport",frame={level="0",addr="0x00007ffff4189ac3",func="select",args=[],file="../sysdeps/unix/syscall-template.S",line="82"},state="stopped",core="0"},{id="2",target-id="Thread 0x7fffe9400700 (LWP 31444)",name="pimimport",frame={level="0",addr="0x00007ffff4187513",func="*__GI___poll",args=[{name="fds",value="<optimized out>"},{name="nfds",value="<optimized out>"},{name="timeout",value="<optimized out>"}],file="../sysdeps/unix/sysv/linux/poll.c",line="87"},state="stopped",core="0"},{id="1",target-id="Thread 0x7ffff7fab760 (LWP 31441)",name="pimimport",frame={level="0",addr="0x0000000000411249",func="ResourceDumpJob::start",args=[{name="this",value="0xbcfcb0"}],file="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",line="21"},state="stopped",core="0"}],current-thread-id="1"
(gdb) -stack-list-frames --thread 1 --frame 0 0 21
^done,stack=[frame={level="0",addr="0x0000000000411249",func="ResourceDumpJob::start",file="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",line="21"},frame={level="1",addr="0x0000000000416f67",func="AkonadiDumpAssistant::accept",file="/home/zarzych/coding/kdepim/kdepim/pimimport/akonadidumpassistant.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/pimimport/akonadidumpassistant.cpp",line="56"},frame={level="2",addr="0x00007ffff571a375",func="QDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/qt4/libQtGui.so.4"},frame={level="3",addr="0x00007ffff5eecb65",func="KDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/libkdeui.so.5"},frame={level="4",addr="0x00007ffff5fc2bf0",func="KPageDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/libkdeui.so.5"},frame={level="5",addr="0x00007ffff5edb698",func="KAssistantDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/libkdeui.so.5"},frame={level="6",addr="0x000000000040baf0",func="AkonadiDumpAssistant::qt_metacall",file="/home/zarzych/coding/kdepim/kdepim/build/pimimport/moc_akonadidumpassistant.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/build/pimimport/moc_akonadidumpassistant.cpp",line="69"},frame={level="7",addr="0x00007ffff6cd5637",func="QMetaObject::activate(QObject*, QMetaObject const*, int, void**)",from="/usr/lib64/qt4/libQtCore.so.4"},frame={level="8",addr="0x00007ffff5eec7ec",func="KDialog::slotButtonClicked(int)",from="/usr/lib64/libkdeui.so.5"},frame={level="9",addr="0x00007ffff5eece52",func="KDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/libkdeui.so.5"},frame={level="10",addr="0x00007ffff5fc2bf0",func="KPageDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/libkdeui.so.5"},frame={level="11",addr="0x00007ffff5edb698",func="KAssistantDialog::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/libkdeui.so.5"},frame={level="12",addr="0x000000000040baf0",func="AkonadiDumpAssistant::qt_metacall",file="/home/zarzych/coding/kdepim/kdepim/build/pimimport/moc_akonadidumpassistant.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/build/pimimport/moc_akonadidumpassistant.cpp",line="69"},frame={level="13",addr="0x00007ffff6cd5637",func="QMetaObject::activate(QObject*, QMetaObject const*, int, void**)",from="/usr/lib64/qt4/libQtCore.so.4"},frame={level="14",addr="0x00007ffff6cda0ae",func="QSignalMapper::mapped(int)",from="/usr/lib64/qt4/libQtCore.so.4"},frame={level="15",addr="0x00007ffff6cda1b6",func="QSignalMapper::map(QObject*)",from="/usr/lib64/qt4/libQtCore.so.4"},frame={level="16",addr="0x00007ffff6cda8f0",func="QSignalMapper::qt_metacall(QMetaObject::Call, int, void**)",from="/usr/lib64/qt4/libQtCore.so.4"},frame={level="17",addr="0x00007ffff6cd5637",func="QMetaObject::activate(QObject*, QMetaObject const*, int, void**)",from="/usr/lib64/qt4/libQtCore.so.4"},frame={level="18",addr="0x00007ffff58d1ec2",func="QAbstractButton::clicked(bool)",from="/usr/lib64/qt4/libQtGui.so.4"},frame={level="19",addr="0x00007ffff561a1db",func="??",from="/usr/lib64/qt4/libQtGui.so.4"},frame={level="20",addr="0x00007ffff561b79b",func="??",from="/usr/lib64/qt4/libQtGui.so.4"},frame={level="21",addr="0x00007ffff561ba0c",func="QAbstractButton::mouseReleaseEvent(QMouseEvent*)",from="/usr/lib64/qt4/libQtGui.so.4"}]
(gdb) -stack-list-locals --thread 1 --frame 0 --simple-values
^done,locals=[{name="config",type="KConfig"},{name="configGroup",type="KConfigGroup"},{name="stdDirs",type="KStandardDirs"},{name="job",type="Akonadi::CollectionFetchJob *",value="<optimized out>"},{name="configPath",type="QString"}]
(gdb) -var-update --thread 1 --frame 0 --all-values *
^done,changelist=[]
(gdb) -break-list
^done,BreakpointTable={nr_rows="1",nr_cols="6",hdr=[{width="7",alignment="-1",col_name="number",colhdr="Num"},{width="14",alignment="-1",col_name="type",colhdr="Type"},{width="4",alignment="-1",col_name="disp",colhdr="Disp"},{width="3",alignment="-1",col_name="enabled",colhdr="Enb"},{width="18",alignment="-1",col_name="addr",colhdr="Address"},{width="40",alignment="2",col_name="what",colhdr="What"}],body=[bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000000411240",func="ResourceDumpJob::start()",file="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",fullname="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp",line="20",times="1",original-location="/home/zarzych/coding/kdepim/kdepim/pimimport/resourcedumpjob.cpp:20"}]}
(gdb) -stack-list-arguments --thread 1 --frame 0 0 0 0
^done,stack-args=[frame={level="0",args=[name="this"]}]
(gdb) -var-create --thread 1 --frame 0 var1 @ "config"
^done,name="var1",numchild="0",value="{...}",type="KConfig",thread-id="1",has_more="0"
(gdb) -var-create --thread 1 --frame 0 var2 @ "configGroup"
^done,name="var2",numchild="0",value="{...}",type="KConfigGroup",thread-id="1",has_more="0"
(gdb) -var-create --thread 1 --frame 0 var3 @ "stdDirs"
^done,name="var3",numchild="0",value="{...}",type="KStandardDirs",thread-id="1",has_more="0"
(gdb) -var-create --thread 1 --frame 0 var4 @ "job"
^done,name="var4",numchild="0",value="<optimized out>",type="Akonadi::CollectionFetchJob *",thread-id="1",has_more="0"
(gdb) -var-create --thread 1 --frame 0 var5 @ "configPath"
Comment 4 zarzych 2011-10-05 18:52:40 UTC
Git commit 82c3c7895df15e3fd649e4a1ddbbc58b3f2a2a3e by Maciek Zarzycki.
Committed on 05/10/2011 at 01:18.
Pushed by mzarzycki into branch 'master'.

Fix pretty printer for QString.

The printer may be ran when the QString object is not yet initialized.
In this case we might get memory access violation resulting from
undefined value of QString::size.
Wrap the printer inside try/except to prevent this.

BUG: 280201
REVIEW: 102778

M  +10   -2    debuggers/gdb/printers/qt4.py

http://commits.kde.org/kdevelop/82c3c7895df15e3fd649e4a1ddbbc58b3f2a2a3e