ddd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: DDD-3.3.9 for Mac OS X status


From: Andrew Gaylard
Subject: Re: DDD-3.3.9 for Mac OS X status
Date: Mon, 19 Jul 2004 20:04:30 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031030

Terry Teague wrote:
Dear Andrew,

I previously wrote :


The version of GDB for Mac OS X seems to behave slightly different from
GDB on other platforms, in one regard, and the DDD code is not set up to
handle that. Specifically it involves the "set path" and "show path"
functionality. DDD asks GDB to return information on valid commands when
setting up, and in the case of "show path", GDB is returning an error,
which DDD interprets as valid data, which it puts into the GDB preferences
panel. Unfortunately it is NOT valid data, so when debugging code, DDD
sends the invalid data back to GDB, which in turns gets an error. Attempts
to "fix" the invalid data in the GDB preferences panel are unsuccessful
(since it seems the user entered data is appended to the invalid data that
DDD has, as opposed to replacing the data) - I have tried all sorts of
things.



I have since fixed this bug, at least on Mac OS X.

I also improved the GDB settings panel for a couple of (apparently Mac OS X
specific) GDB settings ("cp-abi", "osabi").

I then ran into another problem, which was also in previous versions of
DDD, but masked by the first problem above.

Specifically, when DDD sends the initialization commands to GDB, based on
the "gdbSettings" resource in "~/.ddd/init", there is one "set" command
that kills GDB on Mac OS X - since I can reproduce the problem with just
GDB alone, I have to assume it is a bug with GDB. The command is "set
interpreter console". I'm unclear on what this command does (there are
several available interpreter values to choose from), but while "source
/var/tmp/dddXXXXXX" to GDB, when GDB hits the "set interpreter console"
command, it keeps spewing "Select: bad file descriptor" until I kill GDB
(or quit DDD). From what I can tell, this error occurs when a pipe is
unexpectedly closed, which sort of makes sense, if "set interpreter
console" does what I think it does - we are pulling the rug from under
GDB's feet.

I couldn't find a nice way to fix this problem, but I came up with a hack
that works - I simply ignore "set interpreter" when the GDB settings are
being generated. This seems to work fine. If the user really wants to use
"set interpreter console", they can probably do that in ".gdbinit".

I have a couple of cosmetic things to look at (odd looking symbols in the
Tip of the Day text), but otherwise I think I am ready to release DDD 3.3.9
for Mac OS X.

I intend to make my patches available (possibly on SourceForge) - but they
should be reviewed. I am still learning a lot about how DDD works.

Regards, Terry

Nice work, Terry!  Send us your patches, and we'll set about integrating
them into the main source tree.

Andrew.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]