This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Can't debug bash with gdb 8.2.1-1
- From: Ken Brown <kbrown at cornell dot edu>
- To: Jon Turney <jon dot turney at dronecode dot org dot uk>, The Cygwin Mailing List <cygwin at cygwin dot com>
- Date: Wed, 24 Jul 2019 12:33:00 +0000
- Subject: Re: Can't debug bash with gdb 8.2.1-1
- Arc-authentication-results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=cornell.edu;dmarc=pass action=none header.from=cornell.edu;dkim=pass header.d=cornell.edu;arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ydHNTGOoxSRdR0DEyQqDJqFOvnqZopkIV581KXjPXZA=; b=jWpfSQLVFGFetWM9ZknyrQeJWG+k1ZTnkchPDkU7gDEnQKSwd9Y2aS/3nTndZv2zYhjI/ZSQ8S/b1aK/zlQnXUlM/2MYWmec2/unRvEHYS11bC4ZJYnoV1zgBFeVsDMNe1Tnu07B20iSvqJY+VtuwTkb8ys0Non9TUt6oNxWme0t0yHqM65btMZhNuO64ehOAXwUoe1lk/BCrYuhxKz6SlHFUyUj4c4nrcJ0Uu72/2M2cXSkwEg+wPumMR7Cgrt/5G4s/cdwJlHShdCRtzaYzn1aUo04GYzSkQKoNFvBVhtgEJQ5r2V9jQ3kmo/dLNNqOW8XYcnlZa6nf9C1rDK2dQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FGHssDgRenJF2M2dsO7VmHynh3tt24O7+k7VNE6NS1ByrX2ZaY5CGox+kaeFLGqrO20eFRfRStRR06jtkt0z2zRmKl5vaGzIW5IeljjFHGx9FppBJUx3OQ6gN4ppfMovZAnM414EeC7Q/twaqZRYOEDHqrJ2Ju1u8VpWdF2a4RgG4y6G1QoIrquNREfvvSVj6KmamFf/7iZx280rySZ1bRhiZOFedAgglCH7dc0T98HqGA/FuvGywc+SM3pGuM1pn0MUpyyLDyH+LDzWnRD/E5a8CgFA30MeEg/aprIP0h/h8xXfzvuROkW5GUTxJ0sP6JfadQvK0ZPhp5HOm02ylA==
- References: <37d412b3-f0ff-b079-4d64-16b01898b420@cornell.edu> <73dcccf2-33a0-7608-269b-e9cb9abc2238@dronecode.org.uk> <10d70ba8-41a8-10e8-0ab0-5be526931de7@cornell.edu> <d4efc941-490d-135b-cfd3-ef7b25f93104@dronecode.org.uk>
On 7/23/2019 2:02 PM, Jon Turney wrote:
> Hmm.... let me clarify what I mean:
>
> $ cat getpgrp_test.c
> #include <unistd.h>
> #include <stdio.h>
>
> int main() {
> printf("getpgrp() = %d\n", getpgrp());
> }
>
> $ gcc getpgrp_test.c -o getpgrp_test.exe
>
> $ ./getpgrp_test
> getpgrp() = 1241
>
>
> $ gdb ./getpgrp_test
> GNU gdb (GDB) (Cygwin 8.2.1-1) 8.2.1
> [...]
> Reading symbols from ./getpgrp_test...done.
> (gdb) r
> Starting program: /work/getpgrp_test
> getpgrp() = -1
> [Inferior 1 (process 11428) exited normally]
Thanks, I was being dense. But look at this one:
$ cat getpgrp_test.c
#include <unistd.h>
#include <stdio.h>
#include <errno.h>
int
main ()
{
pid_t pid = getpid ();
pid_t pgid = getpgid (0);
printf ("getpid () = %d, getpgid (0) = %d, errno = %d\n", pid, pgid, errno);
}
$ gcc -o getpgrp_test -Wall -g -O0 getpgrp_test.c
$ ./getpgrp_test.exe
getpid () = 1424, getpgid (0) = 1424, errno = 0
$ gdb ./getpgrp_test.exe
GNU gdb (GDB) (Cygwin 8.2.1-1) 8.2.1
[...]
(gdb) r
Starting program: /home/kbrown/Documents/programming/misc_examples/getpgrp_test.exe
[...]
getpid () = 1427, getpgid (0) = -1, errno = 0
[...]
[Inferior 1 (process 23872) exited normally]
So getpgid (0) returns -1 without setting errno. I think this means that
pinfo::init() didn't fail, but for some reason myself->pgid == -1.
Ken