Я задача сериализовать JSON:SIGSEGV при разборе строки с JsonCpp
{
text: "Some task",
status: 1
}
Я использую эту функцию внутри Serialize
имен:
Task parseTask(std::string task) {
Json::Value root;
Json::Reader reader;
if(reader.parse(task, root, false)) {
std::string text = root["text"].asString();
int status = root["status"].asInt();
Task result(text);
if(status == 1) result.setCompleted();
return result;
}
}
Я вызываю функцию, как следовать :
Task t = Serialize::parseTask("{ text: \"Some Task\", status: 1 }");
и компиляции с -ljsoncpp
опцией. Однако я получаю:
terminated by signal SIGSEGV (Address boundary error)
Я подметать корыто JsonCpp документации, но не могу найти, что случилось с моим кодом.
Этот вид ошибки, как правило, очень прост для отслеживания с помощью отладчика. –
Вы считаете json parser в Qt? Это быстрее. Он даже превосходит известного C json parser! Я могу дать вам тесты, если хотите. – lpapp
GDB выбрасывает только принятый сигнал программы SIGSEGV, ошибка сегментации. 0xb7e0e6f2 in ??() из /lib/i386-linux-gnu/i686/cmov/libc.so.6. Не очень информативно – jviotti