Re: Debugger at odds with reality? [SOLVED]
Re: Debugger at odds with reality? [SOLVED]
- Subject: Re: Debugger at odds with reality? [SOLVED]
- From: Graham Cox <email@hidden>
- Date: Sun, 27 Apr 2008 19:47:58 +1000
In fact not a stupid question.
There was one place in the framework where a couple of ivars were
conditionally defined for debugging. Originally the #define for these
was in the header itself, so you could easily allow them or not, but
someone decided this would be better off in the precompiled header,
which of course was different for the two projects, hence one project
thought the superclass had a size x, where in fact it was x+some.
That explains the misalignment of the ivars in the debugger, but it
*doesn't* explain the discrepancy between the actual layout of the
class in the debugger compared with the latest version of the
framework - the debugger was still using a layout which was last
current about five weeks ago. That part I still haven't got to the
bottom of, though basically throwing every build folder away that I
could find and forcing a full rebuild ("clean" didn't do it) finally
kicked into using the current version.
I'd still like to know more about how all this actually works - I feel
I'm groping in the dark when things go wrong.
G.
On 27 Apr 2008, at 4:14 pm, Colin Cornaby wrote:
This might be a stupid question, but the person who is building
against your framework is using a debug version as opposed to a
release version, correct?
On Apr 26, 2008, at 6:20 AM, Graham Cox wrote:
I have a funny problem which is proving difficult to fix.
I have a framework which I've written, and an app which I've
written that uses it. I can debug to my heart's content in both -
make a change in the framework, the change is reflected in the app,
all is well.
Now I'm trying to help someone out who is also writing an app
against my framework, and things there are totally weird. I've set
up the app project identically to my own app (AFAICS) but there are
two debugging problems which I don't get in my own app. The first
is that breakpoints in the framework don't cause a break. The
second much worse problem is that the layout of objects is wrong -
it's as if the debugger is using some (much) older version of the
framework classes for its symbol definitions, so when the code
tries to set an ivar say, some other part of the object gets
updated in the debugger. From what I can tell the code is right, as
things are actually working, but the debugger has an out of date
view of the code.
Where does the debugger grab its "picture" of the linked framework
from?
I've copied over all the relevant settings from the first app's
project to the second app's, but to no avail. The actual build is
picking up the framework OK, which is copied into its local
"Frameworks" folder in the bundle, and it runs OK, so it's linking
against the right framework at runtime - but the debugger
obstinately refuses to "see" the right framework, and is using a
*VERY* old version. I've deleted all old versions that I can find
but it's still getting it from somewhere. Until I can solve this I
can't debug the app, as the debugger is just showing me garbage.
Any ideas?
G.
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden