免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 834 | 回复: 6
打印 上一主题 下一主题

这个程序出了什么问题?如何解决? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-03-12 11:58 |只看该作者 |倒序浏览
我的这个程序在编译后运行 为什么会出现段错误?
但是我用GDB时 一步一步运行 为什么又可以?  问题出在那里?

程序如下:
typedef struct Stru
{
        GtkWidget * button;
        GtkWidget * label;
        GtkWidget * vbox;
} Stru_t, * pStru ;
                                                                                
GtkWidget * create_struc(pStru object,char * buttonname, char * labeltext);
                                                                                
void set_label_button(pStru object,char * text);

//-----------------------------------
#include <gtk/gtk.h>;
                                                                                
#include "strcut.h"
                                                                                
GtkWidget * create_struc(pStru ps,char * buttonname, char *labeltext)
{
        GtkWidget *  box;
        box = gtk_vbox_new(FALSE,0);
                                                                                
        ps->;vbox = NULL;
                                                                                
        ps->;button = gtk_button_new_with_label( buttonname);
        gtk_widget_show(ps->;button);
        gtk_box_pack_start(GTK_BOX(box),ps->;button,TRUE,TRUE,0);
                                                                                
        ps->;label = gtk_label_new(labeltext);
        gtk_widget_show(ps->;label);
        gtk_box_pack_start(GTK_BOX(box),ps->;label,TRUE,TRUE,0);
                                                                                
        return box;
}
void set_label_button(pStru object,char * text)
{
        gtk_label_set_text(GTK_LABEL(object->;label),text);
}
                                                                                                              
                                                                                                              
int main( int argc ,char * argv[])
{
        GtkWidget * window;
        GtkWidget * box;
        pStru ps;
                                                                                                              
        gtk_init(&argc,&argv);
                                                                                                              
        window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_signal_connect(GTK_OBJECT(window),"destroy",GTK_SIGNAL_FUNC(gtk_exit),NULL);
                                                                                                              
        box = create_struc(ps,"button","label";
        gtk_container_add(GTK_CONTAINER(window),box);
        gtk_widget_show(box);
                                                                                                              
        set_label_button(ps,"change";
        gtk_widget_show(window);
                                                                                                              
        gtk_main();
                                                                                                              
        return (0);
}

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
2 [报告]
发表于 2004-03-12 12:02 |只看该作者

这个程序出了什么问题?如何解决?

象这种程序,
如果不对gtk很了解,
没法帮你看。
里面很多函数调用,不知什么意思。
还有以后请把标题描述清楚。

论坛徽章:
0
3 [报告]
发表于 2004-03-12 12:13 |只看该作者

这个程序出了什么问题?如何解决?

不好意思,第一次在这儿发贴.谁能帮我一下?
这里说不清楚可以到QQ(285343012)里来.

谢谢

论坛徽章:
0
4 [报告]
发表于 2004-03-12 12:36 |只看该作者

这个程序出了什么问题?如何解决?

先运行,产生core,然后用gdb查堆栈。

论坛徽章:
0
5 [报告]
发表于 2004-03-12 12:41 |只看该作者

这个程序出了什么问题?如何解决?

谢谢 FH ,能不能说的 具体一点~~~
怎么做?在线等待

论坛徽章:
0
6 [报告]
发表于 2004-03-12 12:50 |只看该作者

这个程序出了什么问题?如何解决?

core以后用gdb查看栈调用轨迹和参数以及当前指令,就知道是什么地方产生core了。

论坛徽章:
0
7 [报告]
发表于 2004-03-12 13:19 |只看该作者

这个程序出了什么问题?如何解决?

谢谢FH,我找到错误了,是PS->;BUTTON 的空间不可访问.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP