| |||
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] |
Now that was a sneaky bug!
The other lessons are: * Beware of functions/methods with side effects. * Don't assume evaluation order of arguments to functions/methods. * Use global variables judiciously.
--Andy
On Mar 21, 2007, at 2:27 PM, Sam Waters wrote:
The solution:
Here's what I was doing:
NSData * dTempData = [NSData dataWithBytes:[self Function] length:iLen];
iLen is a class variable that got updated in Function. On the PPC iLen would be
updated in time, but on the Intel it wouldn't be. Oddly enough that same line
of code works fine on my Windows XP port. (in C++ syntax of course)
The moral of the story is KEEP YOUR CONSOLE OPEN. When it tells you you're
trying to create an NSData object with an "absurd" length, bugs like this are
much easier to find!
--- Sam Waters <email@hidden> wrote:
OK, I'll look more closely to see if I'm stomping on memory I shouldn't be.______________________________________________________________________ ______________
It
seems I'm not misusing NSData which is what I was most worried about. I must
be
overwriting something important for dTempData somehow.
Thanks for the help. --- Scott Stevenson <email@hidden> wrote:
On Mar 20, 2007, at 6:04 PM, Sam Waters wrote:
I've found that if I do this:
NSData * dTempData = [NSData dataWithBytes:pBytes length:iLen];
and later on do this:
NSData * dTempData2 = [NSData dataWithBytes:pOtherBytes length:iOtherLen];
then everything is fine for both Intel and PPC, but am worried I'm doing something fundamentally wrong. PLEASE let me know if I'm doing something terribly wrong here, I'm new at this!
I think the bug is probably outside of the code you're showing us because there's no way for NSData to know which variable you're assigning object pointer to.
Try something like this:
NSData * dTempData = [NSData dataWithBytes:pBytes length:iLen]; pOtherBytes = pBytes; iOtherLen = iLen; dTempData = [NSData dataWithBytes:pOtherBytes length:iOtherLen];
If that works, then it's probably a problem with the way either pOtherBytes or iOtherLen is being set up. On the other hand, if it still crashes, then it might have something to do with the way dTempData is being used after the second assignment.
As for why you see problems on Intel and not PowerPC, it's hard to say without knowing seeing the context of the rest of the code.
- Scott _______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
http://lists.apple.com/mailman/options/cocoa-dev/sa_waters% 40yahoo.com
This email sent to email@hidden
Food fight? Enjoy some healthy debate in the Yahoo! Answers Food & Drink Q&A. http://answers.yahoo.com/dir/?link=list&sid=396545367 _______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
http://lists.apple.com/mailman/options/cocoa-dev/sa_waters% 40yahoo.com
This email sent to email@hidden
______________________________________________________________________ ______________
Never miss an email again!
Yahoo! Toolbar alerts you the instant new Mail arrives.
http://tools.search.yahoo.com/toolbar/features/mail/
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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: http://lists.apple.com/mailman/options/cocoa-dev/email@hidden
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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: http://lists.apple.com/mailman/options/cocoa-dev/email@hidden
| References: | |
| >Re: NSData dataWithBytes problem on Intel (From: Sam Waters <email@hidden>) |
| Home | Archives | FAQ | Terms/Conditions | Contact | RSS | Lists | About |
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE
Contact Apple | Terms of Use | Privacy Policy
Copyright © 2007 Apple Inc. All rights reserved.