From owner-freebsd-questions Fri Mar 30 11:43:58 2001 Delivered-To: freebsd-questions@freebsd.org Received: from flame.fireclick.com (flame.fireclick.com [208.45.103.18]) by hub.freebsd.org (Postfix) with ESMTP id C6D0D37B71F for ; Fri, 30 Mar 2001 11:43:52 -0800 (PST) (envelope-from tee@fireclick.com) Received: from fireclick.com (todd.fireclick.com [192.168.254.106]) by flame.fireclick.com (8.10.1/8.10.1) with ESMTP id f2UJhfk01137; Fri, 30 Mar 2001 11:43:42 -0800 Message-ID: <3AC4E1B7.74C87C41@fireclick.com> Date: Fri, 30 Mar 2001 11:42:47 -0800 From: Todd Enersen X-Mailer: Mozilla 4.76 [en] (Windows NT 5.0; U) X-Accept-Language: en MIME-Version: 1.0 To: freebsd-questions@freebsd.org Cc: Todd Subject: problems with gdb??? Content-Type: multipart/alternative; boundary="------------DA50410AF9311B33DEC3A86F" Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG --------------DA50410AF9311B33DEC3A86F Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit I've installed the 4.2 distribution of FreeBSD. While porting an application to the FreeBSD platform, I've run into a problem with the gdb that ships as part of the distribution. Consider the following small section of code: > > more test.c > > void Init(char* foo, int bar) > { > > } > > int main(int argc, char* argv[]) > { > Init("foo", 1234); > } > Now consider the output from gdb: > gdb mytest > GNU gdb 4.18 > Copyright 1998 Free Software Foundation, Inc. > GDB is free software, covered by the GNU General Public License, and you are > welcome to change it and/or distribute copies of it under certain conditions. > Type "show copying" to see the conditions. > There is absolutely no warranty for GDB. Type "show warranty" for details. > This GDB was configured as "i386-unknown-freebsd"... > (gdb) b main > Breakpoint 1 at 0x804848a: file test.c, line 10. > (gdb) r > Starting program: /usr/home/tee/work/testproxy/mytest > > Breakpoint 1, main (argc=-1077937256, argv=0x80483ed) at test.c:10 > 10 Init("foo", 1234); > (gdb) > (gdb) p argv[0] > $1 = 0xff6de850 Error reading address 0xff6de850: Bad address > (gdb) > Now should argc and argv be defined to be valid?? This corruption of how gdb views the arguements continues, and makes it very impossible to actually debug real programs. I've also tried to download and build gdb 5.0, but it fails to compile under FreeBSD. Any suggestions? Todd Enersen --------------DA50410AF9311B33DEC3A86F Content-Type: text/html; charset=us-ascii Content-Transfer-Encoding: 7bit I've installed the 4.2 distribution of FreeBSD. While porting an application to the FreeBSD platform, I've run into a problem with the gdb that ships as part of the distribution.

Consider the following small section of code:
 

> more test.c

void Init(char* foo, int bar)
{

}

int main(int argc, char* argv[])
{
   Init("foo", 1234);
}


Now consider the output from gdb:

gdb mytest
GNU gdb 4.18
Copyright 1998 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-freebsd"...
(gdb) b main 
Breakpoint 1 at 0x804848a: file test.c, line 10.
(gdb) r
Starting program: /usr/home/tee/work/testproxy/mytest 

Breakpoint 1, main (argc=-1077937256, argv=0x80483ed) at test.c:10
10         Init("foo", 1234);
(gdb) 
(gdb) p argv[0]
$1 = 0xff6de850 Error reading address 0xff6de850: Bad address
(gdb)


Now should argc and argv be defined to be valid??

This corruption of how gdb views the arguements continues, and makes it very impossible to actually debug real programs.

I've also tried to download and build gdb 5.0, but it fails to compile under FreeBSD.

Any suggestions?

Todd Enersen
  --------------DA50410AF9311B33DEC3A86F-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message