Gdb c:没有这样的文件或目录

Gdb c:没有这样的文件或目录,gdb,gtk2,segmentation-fault,Gdb,Gtk2,Segmentation Fault,当我尝试使用gdb运行以下代码时,我有c/gtk+应用程序和GList,它们填充了三个元素: if (g_list_length(mw->img_list) > 0) printf(">0"); else printf("<0"); if(g\u列表长度(mw->img\u列表)>0) printf(“>0”); 其他的 printf(“它看起来好像在试图找到(硬盘上)不存在的东西。这就是全部代码吗?它看起来好像在试图找到(硬盘上)的东西这不存在。这就是全部

当我尝试使用gdb运行以下代码时,我有c/gtk+应用程序和GList,它们填充了三个元素:

if (g_list_length(mw->img_list) > 0)
   printf(">0");
else
   printf("<0");
if(g\u列表长度(mw->img\u列表)>0)
printf(“>0”);
其他的

printf(“它看起来好像在试图找到(硬盘上)不存在的东西。这就是全部代码吗?

它看起来好像在试图找到(硬盘上)的东西这不存在。这就是全部代码吗?

这是glib中的崩溃,可能是因为您给它一个指向列表的错误指针。调试器试图加载源代码以显示崩溃的位置,但找不到它(可能是因为您刚刚链接到库,甚至没有现成的源代码)


使用gdb
up
命令在调用堆栈中向上移动,直到到达代码,并检查传递给
g_list_length()的参数
函数。

这是glib中的崩溃,可能是因为您给它一个指向列表的错误指针。调试器试图加载源代码以显示崩溃的位置,但找不到它(可能是因为您刚刚链接到库,甚至没有现成的源代码)


使用gdb
up
命令在调用堆栈中向上移动,直到到达代码,并检查传递给
g_list_length()的参数
函数。

调试器正在尝试查找GList的源代码,以帮助您调试问题。通常,您不会安装源代码。您需要安装调试包或某种类型的源代码


如果您使用的是Fedora系统,
debuginfo install glib2
将完成此操作。在Debian或Ubuntu上,可能会有一个用于此操作的软件包,可能以
-dbg
结尾?

您的调试器正在尝试查找GList的源代码以帮助您调试问题。通常,您不会安装源代码。您需要安装debug一个包或某种来源

如果您使用的是Fedora系统,
debuginfo-install-glib2
将完成此操作。在Debian或Ubuntu上,可能会有一个用于此操作的软件包,可能以
-dbg
结尾