[Bug 81670] New: Improvement in frame stack display

Nick Savoiu savoiu at ics.uci.edu
Sun May 16 09:09:03 UTC 2004


------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
      
http://bugs.kde.org/show_bug.cgi?id=81670      
           Summary: Improvement in frame stack display
           Product: kdevelop
           Version: 3.0.3
          Platform: Compiled Sources
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: wishlist
          Priority: NOR
         Component: general
        AssignedTo: kdevelop-devel kdevelop org
        ReportedBy: savoiu ics uci edu


Version:           3.0.3 (using KDE KDE 3.2.2)
Installed from:    Compiled From Sources
Compiler:          gcc3.2 
OS:                Linux

NOTE: viewing this in a fixed font would probably make things easier to understand. A formatted version is available at: http://www.ics.uci.edu/~savoiu/kdevelop_frame_stack.html.

-----------------------------------------------

This is how a backtrace is currently displayed in the 'Frame Stack' pane. 
While it's an informative display I find it hard to 'decypher' without careful reading.

#0 Mtp_MakeHndInternal () from /home/nsavoiu/test/src/linux-gcc-32/mtplib.so
#1 0x41d86e99 in Mtp_DeletesByteWord () from /home/nsavoiu/test/src/linux-gcc-32/mtplib.so
#2 0x41d86558 in Mtp_CompMakeHnd () from /home/nsavoiu/test/src/linux-gcc-32/mtplib.so
#3 0x41d66651 in Mtp_MakeHndEx () from /home/nsavoiu/test/src/linux-gcc-32/mtplib.so
#4 0x41d925cf in Mtp_RetestAndMakeHnd () from /home/nsavoiu/test/src/linux-gcc-32/mtplib.so
#5 0x41d924b7 in Mtp_RetestAndMake () from /home/nsavoiu/test/src/linux-gcc-32/mtplib.so
#6 0x415ba847 in Mtp::Rehash::RetestAndMake (this=0x80708a8, cmdline= 0xbfffe190) at Mtp_Rehash.cpp:66
#7 0x400225f9 in MainHook::DoLoop (this=0xbfffe440, input= 0xbfffe220, exit_on_error=true) at MainHook.cpp:370
#8 0x40022aae in MainHook::Do (this=0xbfffe440) at MainHook.cpp:431
#9 0x4001d7be in main (argc=3, argv=0xbfffe4e4) at Main.cpp:179
#0 0x4235d967 in __libc_start_main () from /lib/i686/libc.so.6
#1 0x0804a25d in _start ()

My suggestion is to parse the GDB output and have a column display as the one in
the 'Watch' pane. Optionally the user should be allowed to change what columns are
displayed and in what order.

This would allow a user to remove information that he/she does not care for. Most of the
time 'function' and 'parameters' are sufficient for my needs. At the very least the user
would be able to make unneeded columns very narrow.


Frame | Function                   | Params                       | Source                      | Address
------------------------------------------------------------------------------------------------------------
#0    | Mtp_MakeHndInternal        |                              | /home/nsa...cc-32/mtplib.so |
#1    | Mtp_DeletesByteWord        |                              | /home/nsa...cc-32/mtplib.so | 0x41d86e99 
#2    | Mtp_CompMakeHnd            |                              | /home/nsa...cc-32/mtplib.so | 0x41d86558
#3    | Mtp_MakeHndEx              |                              | /home/nsa...cc-32/mtplib.so | 0x41d66651
#4    | Mtp_RetestAndMakeHnd       |                              | /home/nsa...cc-32/mtplib.so | 0x41d925cf
#5    | Mtp_RetestAndMake          |                              | /home/nsa...cc-32/mtplib.so | 0x41d924b7
#6    | Mtp::Rehash::RetestAndMake | this=0x8070 ... = 0xbfffe190 | Mtp_Rehash.cpp:66           | 0x415ba847
#7    | MainHook::DoLoop           | this=0xbfff ... n_error=true | MainHook.cpp:370            | 0x400225f9
#8    | MainHook::Do               | this=0xbfffe440)             | MainHook.cpp:431            | 0x40022aae
#9    | main                       | argc=3, argv=0xbfffe4e4)     | Main.cpp:179                | 0x40022aae
#0    | __libc_start_main          |                              | /lib/i686/libc.so.6         | 0x4235d967
#1    | _start                     |                              |                             | 0x0804a25d




More information about the KDevelop-devel mailing list