This is the mail archive of the gdb@sourceware.cygnus.com mailing list for the GDB project. See the GDB home page for more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

gdb virtual memory exhausted


Hi,

You are much more fluent in gdb.  May I ask you a 
question about gdb?

I am running gdb on a SCO system and got:

gdb virtual memory exhausted.  Failed to allocated 4072 bytes memory.

I used swap -a to add 500,000 blocks of space.  But the problem
existed.  Any suggestions?

Eric

-----Original Message-----
From: jtc@redback.com [mailto:jtc@redback.com]
Sent: Wednesday, March 17, 1999 6:52 PM
To: Stan Shebs
Cc: gdb@cygnus.com
Subject: Re: problem with chained if statements?


jtc> I'm trying to write some user-defined commands to traverse
jtc> and/or pretty-print some of the internal data structures used in
jtc> our SW.  In the absense of a `switch' statement, I am using a
jtc> chain of if .. else if ... else if ... else ... end statements.
jtc> Unfortunately it doesn't seem to work.

Stan> Try:
Stan> 	   if ($status == $TASK_READY)
Stan> 		   printf "READY    "
Stan> 	   else
Stan> 		if ($status == $TASK_DELAY)
Stan> 		   printf "DELAY    "
Stan> 	   else
Stan> 		if ($status == ($TASK_DELAY | $TASK_SUSPEND))
Stan> 		   printf "DELAY+S  "
Stan> I think the else and the if each need to be on their own lines.

It turns out to be something like:

	if ($status == $TASK_READY)
		printf "READY    "
 	else
		if ($status == $TASK_DELAY)
			printf "DELAY    "
		else
	 		if ($status == ($TASK_DELAY | $TASK_SUSPEND))
				printf "DELAY+S  "
			else
				....
			end
		end
	end

Pretty ugly (IMO).  It will suffice as a workaround, but I'll have to
look into how difficult adding "true" else-if support will be.  Would
an `elif' keyword be objectionable?  What are the current thoughts
wrt. adding a more capable extension language for gdb scripting?

	--jtc

-- 
J.T. Conklin
RedBack Networks