线程1:程序接收信号:“EXC_BAD_ACCESS”

时间:2013-04-01 05:22:23

标签: iphone objective-c xcode exc-bad-access

正如标题所说,我有这个错误 我非常感谢帮助我 我的代码在

之下

这是在BTscan.c

t_btmanager     *bt_accessor(t_btmanager *tmp)
{
static t_btmanager  *bt_tmp = 0;
if (tmp)
bt_tmp = tmp;
return (bt_tmp);
}

int bt_scan()

{
bt_accessor(0)->status = 1;  ////Here's the problem
printf("registering hooks ...\n");
return (0);
}

和BTscan.h中的这个

typedef struct  s_btmanager
{
char        status;
}       t_btmanager;

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

如果bt_tmp0,则

tmp将保持为0。因此它变为NULL指针并且取消引用空指针bt_accessor(0)->status将导致异常。因为禁止访问内存地址0x0

我不确定EXC_BAD_ACCESS异常的来源,但我猜它来自Mach内核虚拟内存管理器。