使用 box2d 出现奇怪的 xcode 错误

发布于 2024-10-30 08:45:31 字数 931 浏览 6 评论 0原文

我使用 xcode4 和 box2d/cocos2d。

我遇到了一些奇怪的困难,因为运行时错误会“随机”弹出。
我认为当我在重建/运行之前不停止进程时,它们会发生更多。
通常,如果我在重建/运行之前停止进程,则不会发生错误。

有时我会得到:

'NSInvalidArguementException',原因 '-[ConstructLayer createCog:::]: 无法识别的选择器发送到实例 0x554ecd0。

有时我会在名为:的文件中遇到奇怪的错误:

llvm:InstCombiner::DoOneIteration(llvm::Function&, 未签名 int)_disassemble_0x026bc64f.nasm

并突出显示该行:

0x02bc64f <+0439> mov 0x20(%eax),%ecxn

有时我会收到错误:对象 0x68d4ba4 的 malloc * 错误:已释放对象的校验和不正确 - 对象可能在释放后被修改。

这是我的 dealloc 方法:

- (void) dealloc{
delete world;
world = NULL;
body_block1 = NULL;
body_egg = NULL;
body_poly = NULL;

[_block1 release];
[_egg release];
[_poly release];
[super dealloc];
}

到底发生了什么?通常错误会连续发生 3 次,并且在再次开始运行之前出现不同的错误。
帮忙!
谢谢,
奥利弗.

im using xcode4 and box2d/cocos2d.

Im having some strange difficulties with runtime errors that pop up 'randomly'.
I think they occur more when I dont stop the process before rebuilding/running.
Usually if i stop the process before i rebuild/run errors dont occur.

Sometimes I get an:

'NSInvalidArguementException', reason
'-[ConstructLayer createCog:::]:
unrecognized selector sent to instance
0x554ecd0.

Sometimes I get a strange error in a file called:

llvm:InstCombiner::DoOneIteration(llvm::Function&,
unsigned
int)_disassembly_0x026bc64f.nasm

with the line highlighted:

0x02bc64f <+0439> mov 0x20(%eax),%ecxn

And sometimes i get an error: malloc * error for object 0x68d4ba4: incorrect checksum for freed object - object was probably modified after being freed.

Here is my dealloc method:

- (void) dealloc{
delete world;
world = NULL;
body_block1 = NULL;
body_egg = NULL;
body_poly = NULL;

[_block1 release];
[_egg release];
[_poly release];
[super dealloc];
}

What on earth is happening? Usually errors happen 3 times in a row with different errors before it starts running again.
Help!
Thanks,
Oliver.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

奢华的一滴泪 2024-11-06 08:45:31

释放数组后尝试将其设为 nil。

[_block1 release];
_block = nil;

[_egg release];
_egg = nil;

[_poly release];
_poly = nil;

Try to Make an array nil after releasing it.

[_block1 release];
_block = nil;

[_egg release];
_egg = nil;

[_poly release];
_poly = nil;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文