[Qt-creator] Very slow GDB when stepping into functions
Peter Kümmel
syntheticpp at gmx.net
Sat Feb 6 18:52:41 CET 2010
Am Samstag, den 06.02.2010, 15:47 +0100 schrieb Andre Poenitz:
> On Sat, Feb 06, 2010 at 12:02:58PM +0100, Peter Kümmel wrote:
> > Am Donnerstag, den 04.02.2010, 19:19 +0100 schrieb Andre Poenitz:
> >
> > > > Could someone please update the QtCreator Wiki:
> > > > http://qt.gitorious.org/qt-creator/pages/FrequentlyAskedQuestions#Debugger
> > >
> > > PS: Of course we can add the hint to the FAQ.
> >
> > What about adding the libc5-dbg package to the apt-get line
> > showed by the installer?
>
> Good idea.
>
> In the long term it would, however, probably be nice to know what kind of
> bad behaviour is triggered inside gdb if this package is missing.
I could track it down into a wait function.
Below the back trace. I've replaced the tab in the exported bt with \n
(Wouldn't it better to use spaces instead of tabs when coping the bt
into the clipboard? Or adding a new opton, "like email bt".
And another bug: disabling the addresses is ignored when coping to
clipboard.)
Some comments on steps:
7: the documentation of the cmd is:
"Step program until it reaches a different source line.
Argument N means do this N times (or till program stops
for another reason)."
Maybe the "other reason" is way it so slow.
9: the command called is
mi_execute_async_cli_command ("step", argv, argc);
no arguments (argc is 0)
There's a FIXME, so maybe a hint how to fix it:
void mi_cmd_exec_step (char *command, char **argv, int argc)
{
/* FIXME: Should call a libgdb function, not a cli wrapper. */
mi_execute_async_cli_command ("step", argv, argc);
}
Always only one thread!
0
wait_for_inferior
infrun.c
2229
0x08176e9c
1
proceed
infrun.c
1885
0x081767b5
2
step_once
infcmd.c
1012
0x08170f1d
3
step_1
infcmd.c
863
0x08170baf
4
step_command
infcmd.c
784
0x081709c1
5
do_cfunc
cli-decode.c
67
0x080f6eaf
6
cmd_func
cli-decode.c
1738
0x080f964a
7
execute_command
top.c
441
0x08097c14
8
mi_execute_async_cli_command
mi-main.c
1726
0x081082c3
9
mi_cmd_exec_step
mi-main.c
138
0x0810537b
10
mi_cmd_execute
mi-main.c
1662
0x081080db
11
captured_mi_execute_command
mi-main.c
1464
0x08107a49
12
catch_exception
exceptions.c
462
0x0818525a
13
mi_execute_command
mi-main.c
1560
0x08107cd0
14
mi_execute_command_wrapper
mi-interp.c
251
0x08104650
15
gdb_readline2
event-top.c
817
0x0818c6eb
16
stdin_event_handler
event-top.c
433
0x0818be2b
17
handle_file_event
event-loop.c
811
0x0818ab64
18
process_event
event-loop.c
393
0x0818a3a8
19
gdb_do_one_event
event-loop.c
458
0x0818a46c
20
catch_errors
exceptions.c
510
0x08185418
21
start_event_loop
event-loop.c
482
0x0818a4ae
22
mi_command_loop
mi-interp.c
281
0x081046c5
23
mi2_command_loop
mi-interp.c
263
0x08104678
24
current_interp_command_loop
interps.c
288
0x08185986
25
captured_command_loop
main.c
226
0x0808ec4e
26
catch_errors
exceptions.c
510
0x08185418
27
captured_main
main.c
905
0x0808fb39
28
catch_errors
exceptions.c
510
0x08185418
29
gdb_main
main.c
914
0x0808fb6f
30
main
gdb.c
33
0x0808e9d3
More information about the Qt-creator-old
mailing list