从函数返回时EXC_BAD_ACCESS

时间:2017-05-04 18:04:00

标签: c exception exc-bad-access

从函数返回时我得到一个BAD_ACCESS,并且调试器没有给我任何信息(它通常指向错误所在的位置,但它没有显示“未知函数”)

导致错误的功能是:

STATUS game_callback_pickup(Game *game, char *param) {
    char **str_end = &param + 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;
}

在“返回”发生时抛出错误。我已经尝试了很多东西,似乎没有任何帮助,老实说我不知道​​如何在没有更多调试器帮助的情况下调试此错误。

关于这里可能发生什么的任何想法?

0 个答案:

没有答案