2009-08-22 55 views
0

Heyho!
我有一个小应用程序运行为LSUIElementNSStatusItem
有时popupmenu的菜单项由代码更新。但是当更新的NSMenuItem(或其超级菜单)“突出显示”时,应用程序崩溃而不记录某些内容。更新突出显示的NSMenuItem时应用程序崩溃

你有什么想法吗?非常感谢你的回答。

回答

1

你可以在gdb中运行时重现崩溃吗? Gdb可以在命令行下正常工作,并且我经常在命令行通过gdb运行GUI应用程序来捕捉间歇性崩溃。

一旦它在gdb中崩溃,使用bt命令来抓取崩溃位置的回溯。

这种性质的崩溃 - 间歇性 - 几乎总是由内存损坏,不正确的线程或过度释放对象引起的。看看你的代码,并确保你遵循了Cocoa内存管理指南。如果您正在使用线程,请确保您没有不正确地从非主线程中处理UI对象。

+0

Mmh。看起来我是“从非主线程中不恰当地处理UI对象”。非常感谢你!这个帮助: (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait – papr 2009-08-23 12:08:25

相关问题