gtk_text_buffer_emit_insert: assertion `g_utf8_validate (text, len, NULL)' 调了一天

时间:2022-03-07 22:41:21
gtk_text_buffer_emit_insert: assertion `g_utf8_validate (text, len, NULL)' failed

GTK程序套接字程序。今天居然调试了一天。不太会用gdb,而且又是多线程。

这个程序会开两个个线程,一个读其他客户端发来的消息,一个读服务器发来的消息。

读到服务器发送的某些消息后可能会操作列表liststore,插入或删除。

可是一接受到服务器那边法国来的信息时就报错gtk_text_buffer_emit_insert: assertion `g_utf8_validate (text, len, NULL)' failed。

我又不知道具体是执行哪行代码时出的错。设制了很多断点,就是没经过断点就出错了。

网上搜了一下,别人的这个错误都是gtk_text_buffer_set_text()引起的,可我没用这个函数。
我用到的函数是:gtk_tree_model_get,
gtk_list_store_append(store,&iter);
gtk_list_store_set(store,&iter,0,name,1,ip,2,_port,-1);
而且我在这个几个函数前都设了断点,还加了printf打印,可是没见到printf执行。断点也没遇到,错误就出了。


我要崩溃了。今天六级都没去考,就调这个程序了。

顺便问一下,是不是我设制断点的方式错了吗?怎么在接下来要创建的线程所要用到的函数中设置断点呢?

我一直用的break file.c:linenum

2 个解决方案

#1


居然没人回啊

#2


我因为其他原因修改了代码。这个错误也跟着自己消失了。神奇去。今天心情好就 无满意结贴了。

#1


居然没人回啊

#2


我因为其他原因修改了代码。这个错误也跟着自己消失了。神奇去。今天心情好就 无满意结贴了。