正如标题所说,我有这个错误 我非常感谢帮助我 我的代码在
之下这是在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;
感谢您的帮助
答案 0 :(得分:2)
bt_tmp
为0
,则 tmp
将保持为0
。因此它变为NULL
指针并且取消引用空指针bt_accessor(0)->status
将导致异常。因为禁止访问内存地址0x0
。
我不确定EXC_BAD_ACCESS
异常的来源,但我猜它来自Mach内核虚拟内存管理器。