0
Heyho!
我有一个小应用程序运行为LSUIElement
与NSStatusItem
。
有时popupmenu的菜单项由代码更新。但是当更新的NSMenuItem
(或其超级菜单)“突出显示”时,应用程序崩溃而不记录某些内容。更新突出显示的NSMenuItem时应用程序崩溃
你有什么想法吗?非常感谢你的回答。
Heyho!
我有一个小应用程序运行为LSUIElement
与NSStatusItem
。
有时popupmenu的菜单项由代码更新。但是当更新的NSMenuItem
(或其超级菜单)“突出显示”时,应用程序崩溃而不记录某些内容。更新突出显示的NSMenuItem时应用程序崩溃
你有什么想法吗?非常感谢你的回答。
你可以在gdb中运行时重现崩溃吗? Gdb可以在命令行下正常工作,并且我经常在命令行通过gdb运行GUI应用程序来捕捉间歇性崩溃。
一旦它在gdb中崩溃,使用bt
命令来抓取崩溃位置的回溯。
这种性质的崩溃 - 间歇性 - 几乎总是由内存损坏,不正确的线程或过度释放对象引起的。看看你的代码,并确保你遵循了Cocoa内存管理指南。如果您正在使用线程,请确保您没有不正确地从非主线程中处理UI对象。
Mmh。看起来我是“从非主线程中不恰当地处理UI对象”。非常感谢你!这个帮助: (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait – papr 2009-08-23 12:08:25