【发布时间】:2015-02-02 14:48:02
【问题描述】:
我的堆栈跟踪如下所示
/usr/lib/libglib-2.0.so.0(g_variant_iter_loop+0xb4)
/usr/lib/libglib-2.0.so.0(g_variant_get_int32+0x1c)
/usr/lib/libglib-2.0.so.0(g_variant_type_is_subtype_of+0x3c)
它的代码是这样的:
while ((NULL != iterator) && (true == g_variant_iter_loop (iterator, "y", &extractedValue)))
{
// do something with extractedValue
}
使用 GVariant 通过 DBUS 接收数据。 也许我没有正确使用 glib API,但这仅在 1% 的情况下失败。 我做错了什么,还是我错过了什么?
【问题讨论】:
-
我不知道您遇到了哪个错误,但文档 developer.gnome.org/glib/stable/… 建议将 g_variant_iter_next 用于“整数和字符串类型”。