【问题标题】:App crashes when updating an highlighted NSMenuItem更新突出显示的 NSMenuItem 时应用程序崩溃
【发布时间】:2009-08-23 04:27:13
【问题描述】:

嘿嘿!
我有一个小应用程序以LSUIElement 运行,NSStatusItem
有时弹出菜单的菜单项由代码更新。但是当更新的NSMenuItem(或其超级菜单)被“突出显示”时,应用程序崩溃而没有记录任何内容。

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

【问题讨论】:

    标签: cocoa crash nsmenu


    【解决方案1】:

    你能在 gdb 中运行时重现崩溃吗? Gdb 在命令行中运行良好,我经常在命令行通过 gdb 运行 GUI 应用程序以捕捉间歇性崩溃。

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

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

    【讨论】:

    • 嗯。看来我是“从非主线程不恰当地滥用 UI 对象”。非常感谢!这有助于:(void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2016-07-02
    • 1970-01-01
    相关资源
    最近更新 更多