1

我想查看 GdkPixbuf 结构的内部以进行调试。但我得到的只是一条<incomplete type>消息。

我会向您展示一小段示例代码。

//load image
GtkWidget *image = gtk_image_new_from_file("image.bmp");

//get the GdkPixbuf representation of the image
GdkPixbuf *pixbuff = gtk_image_get_pixbuf(GTK_IMAGE(image));

好的,现在当我尝试查看 pixbuff 结构内部时,我得到了<incomplete type>消息。如何使用 ddd 或 gdb 调试器正确查看此结构的内部?我是新的编码 c 和调试。

我在 ddd 中尝试了以下操作

图形显示 (GdkPixbuf *)pixbuff 并右键单击变量并使用不同的显示选项无济于事。

关于如何正确查看该结构内部的任何想法?

4

2 回答 2

0

我无法告诉您如何在 gdb 中执行此操作,但如果您愿意接受其他想法,您可以使用gtkparasiteGTK_MODULES=gtkparasite yourapp进行尝试,如下所示:如果你曾经在 Windows 上使用过 Spy++,它会很合适。

于 2011-10-01T17:07:27.760 回答
0

尝试GdkPixbuf *在打印之前将其投射到。另请参阅此问题How to print <incomplete type> variable in gdb

(gdb) p (GdkPixbuf *)pixbuff
于 2011-09-30T08:44:22.900 回答