gpt4 book ai didi

Cocoa 应用程序因 EXC_BAD_ACCESS 崩溃,但仅在 Mac OS X 10.6.6 上

转载 作者:行者123 更新时间:2023-12-03 17:43:55 24 4
gpt4 key购买 nike

我收到了一些来自运行 Mac OS X 10.6.6 的用户的崩溃报告。我的应用程序崩溃并出现以下错误:

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000060443800
Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Application Specific Information:
objc_msgSend() selector name: release


Thread 0 Crashed: Dispatch queue: com.apple.main-thread
0 libobjc.A.dylib 0x97d98edb objc_msgSend + 27
1 com.apple.LaunchServices 0x9038dc62 __LSSharedFileListItemDeallocate + 126
2 com.apple.CoreFoundation 0x9489d101 _CFRelease + 353
3 com.apple.CoreFoundation 0x948c75b2 __CFArrayReleaseValues + 210
4 com.apple.CoreFoundation 0x9489d101 _CFRelease + 353
5 ...myapp.AppName 0x00005d67 +[ABTools isLoginItem] + 1597

中断的代码试图确定应用程序是否已安装登录项。倒数第 3 行释放数组失败(在 10.6.6 上,适用于 10.5.8)。

有人能明白为什么会发生这种情况吗?我查看该代码太久了,但没有看到它。

谢谢!标记

+ (BOOL) isLoginItem {

BOOL isLoginItem = NO;

UInt32 seedValue;

NSString *appName = [NSString stringWithFormat:@"%@.app", [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"]];
NSString *appPath = [[NSBundle mainBundle] bundlePath];

LSSharedFileListRef loginItems = LSSharedFileListCreate(NULL,kLSSharedFileListSessionLoginItems,NULL);
if (!loginItems) {
return isLoginItem;
}
CFURLRef url = (CFURLRef)[NSURL fileURLWithPath:appPath];

NSArray *loginItemsArray = (NSArray *)LSSharedFileListCopySnapshot(loginItems, &seedValue);

if (!loginItemsArray) {
return isLoginItem;
}
for (id item in loginItemsArray)
{
if (LSSharedFileListItemResolve((LSSharedFileListItemRef)item,0,(CFURLRef*)&url,NULL) == noErr
&& [[(NSURL *)url path] isEqualToString:appPath]) {

isLoginItem = YES;
}
if (url) CFRelease(url);
}

if (loginItemsArray) [loginItemsArray release]; // THIS FAILS ON Mac OS X 10.6.6
if (loginItems) CFRelease(loginItems);

return isLoginItem;
}

最佳答案

一般来说,.x.y 版本中的更改不应导致之前运行的应用程序崩溃。我建议您在 bugreport.apple.com 上提交错误。

关于Cocoa 应用程序因 EXC_BAD_ACCESS 崩溃,但仅在 Mac OS X 10.6.6 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4831778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com