Cocoa NSStatusItem“;kCG…“;错误
出于某种原因,在控制台里我得到了 :kCGErrorIllegalArgument: CGSUnregisterWindowWithSystemStatusBar: 无效窗口 :kCGErrorFailure:设置一个 断点@CGErrorBreakpoint()到 在记录错误时捕获错误 用(我认为)这个代码Cocoa NSStatusItem“;kCG…“;错误,cocoa,macos,Cocoa,Macos,出于某种原因,在控制台里我得到了 :kCGErrorIllegalArgument: CGSUnregisterWindowWithSystemStatusBar: 无效窗口 :kCGErrorFailure:设置一个 断点@CGErrorBreakpoint()到 在记录错误时捕获错误 用(我认为)这个代码 - (void)applicationDidResignActive:(NSNotification*)aNotification { statusItem = [[NSS
- (void)applicationDidResignActive:(NSNotification*)aNotification
{
statusItem = [[NSStatusBar systemStatusBar]
statusItemWithLength:NSVariableStatusItemLength];
[statusItem setHighlightMode:YES];
[statusItem setEnabled:YES];
//Set menubar item's tooltip
[statusItem setToolTip:@"Nucleus"];
[statusItem setMenu:theMenu];
//Set the menubar item's title
[statusItem setTitle:[NSString stringWithString:@"N"]];
[statusItem retain];
}
- (void)applicationDidBecomeActive:(NSNotification*)aNotification
{
[[NSStatusBar systemStatusBar] removeStatusItem:statusItem];
}
我相信这是堆栈跟踪(?):
0x00007fff8667349b推送%rbp0x00007fff8667349c mov%rsp%rbp
0x00007fff8667349f mov%edi,%eax
0x00007fff866734a1 LEVEQ
0x00007fff866734a2 retq
0x00007fff866734a3 nop 为什么??我怎样才能解决这个问题
我正在Mac上使用Cocoa?我不确定是什么导致了错误,但我注意到每次应用程序停用时,您都在泄漏
statusItem
。也许在从状态栏中删除后添加一个[statusItem release]
会有所帮助(它肯定会修复您的漏洞)。您能发布堆栈跟踪吗?它有助于准确地查看程序崩溃时正在执行的操作。很抱歉,但如何准确地找到“堆栈跟踪”?您添加的内容是当前函数的程序集(它只返回其第一个参数)。堆栈跟踪是已调用函数的列表。由于您有程序集,我假设Xcode捕获了异常并停止了程序的实际崩溃,因此您必须从Xcode的调试器窗口获取堆栈跟踪。在默认视图中,它位于左上角。它的顶部有您当前使用的函数,下面有调用它的函数。