首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >json-c库出错

json-c库出错
EN

Stack Overflow用户
提问于 2012-01-26 10:22:38
回答 3查看 2.6K关注 0票数 0
代码语言:javascript
复制
Program received signal SIGSEGV, Segmentation fault.
json_object_get_object (jso=0xfffffffc) at json_object.c:255
255     json_object.c: No such file or directory.
       in json_object.c

有没有人能告诉我,可能出了什么问题。

EN

回答 3

Stack Overflow用户

发布于 2012-03-12 06:27:28

您想要测试以下内容:

代码语言:javascript
复制
if (is_error(jso)) {
  // handle error here
}

在做任何其他事情之前。无论出于什么原因,该库都会返回一个伪指针,而不是null,并且没有真正记录这一点(is_error是在json/bits.h中定义的)。

票数 2
EN

Stack Overflow用户

发布于 2012-01-26 10:26:47

分段错误表明内存管理不善,例如双free,或者在您的例子中是一个未终止的字符串,缓冲区溢出,或者只是json-c中的内存管理错误。值得注意的是,内存损坏可能发生在分段错误之前,并且可能在解码JSON输入时随机出现。

我强烈建议在调试器(如gdb )和/或内存访问检查器(如valgrind )下运行该程序,该检查器将在段故障之前发现内存管理错误。

票数 1
EN

Stack Overflow用户

发布于 2013-02-13 07:02:04

尝试使用json_tokener_parse_verbose()而不是json_tokener_parse()。

这对我很有效,因为json_tokener_parse_verbose()返回一个空指针,然后被is_error()拾取。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9013266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档