This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[BUG] Quit and "(running)" problem
- From: "Pierre Muller" <muller at ics dot u-strasbg dot fr>
- To: <gdb-patches at sourceware dot org>, "'Pedro Alves'" <pedro at codesourcery dot com>
- Date: Thu, 15 Jan 2009 13:39:39 +0100
- Subject: [BUG] Quit and "(running)" problem
I have troubles with CVS HEAD gdb on cygwin,
related to the "(running)" state. But I don't think that
this problem is windows specific...
Easiest way to reproduce these problems
is to:
Run gdb with itself:
./gdb ./gdb
$ ./gdb ./gdb
GNU gdb (GDB) 6.8.50.20090115-cvs
Copyright (C) 2009 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 "i686-pc-cygwin".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Setting up the environment for debugging gdb.
During symbol reading, struct/union type gets multiply defined: struct type.
Breakpoint 1 at 0x40b8a3: file ../../purecvs/gdb/utils.c, line 972.
Breakpoint 2 at 0x419086: file ../../purecvs/gdb/cli/cli-cmds.c, line 199.
(top-gdb) start
Temporary breakpoint 3 at 0x40105c: file ../../purecvs/gdb/gdb.c, line 26.
Starting program: /usr/local/src/gdbcvs/build-bare/gdb/gdb.exe
[New Thread 3768.0xd98]
[New Thread 3768.0xb0]
Temporary breakpoint 3, main (argc=1, argv=0xf01f58)
at ../../purecvs/gdb/gdb.c:26
26 {
(top-gdb) set height 1
(top-gdb) n
---Type <return> to continue, or q <return> to quit---q
Quit
(top-gdb) set height 80
(top-gdb) inf thr
2 Thread 3768.0xb0 (running)
* 1 Thread 3768.0xd98 (running)
(top-gdb) cont
Continuing.
Cannot execute this command while the selected thread is running.
(top-gdb)
The problem is the set_running function
introduced for the non-stop mode probably:
the fact on Quitting at the --Type <return> question
bypasses the
set_running(..,0)
(I discovered that by adding an printout on
each set_running call)
and thus leaves gdb beleaaving that
the threads are running while non-stop mode is
not even implemented yet on cygwin native gdb!
This needs a fix!
Pierre Muller
Pascal language support maintainer for GDB