从函数返回时我得到一个BAD_ACCESS,并且调试器没有给我任何信息(它通常指向错误所在的位置,但它没有显示“未知函数”)
导致错误的功能是:
STATUS game_callback_pickup(Game *game, char *param) {
char **str_end = ¶m + MAX_PARAM_SIZE;
Id objId = (Id) strtol(param, str_end, 0);
STATUS status = NO_STATUS;
Object *object;
if (objId == NO_ID) {
status = ERROR;
return status;
}
if (player_pickup_object(game->player, objId) == ERROR) {
status = ERROR;
return status;
}
object = game_get_object_by_id(game, objId);
if (!object) {
status = ERROR;
return status;
}
if (object_set_location(object, NO_ID) == ERROR) {
status = ERROR;
return status;
}
status = OK;
return status;
}
在“返回”发生时抛出错误。我已经尝试了很多东西,似乎没有任何帮助,老实说我不知道如何在没有更多调试器帮助的情况下调试此错误。
关于这里可能发生什么的任何想法?