• 3385阅读
  • 1回复

遇到这样一个非常诡异的问题,关于在板子上运行程序时的崩溃问题,大牛们请看看 [复制链接]

上一主题 下一主题
离线laogao
 
只看楼主 正序阅读 楼主  发表于: 2009-11-25
开发使用的是qt2.3.7
系统是linux
由于系统功能繁多,所以使用了大量弹出控件。
这个问题过于诡异,现将现象描述如下:
  QLabel* OutputPannel_2;
    QFrame* Frame13_2;
    QPushButton* SumOutput;

    //OutputForm * outPutSetFre1;    
    Channelsetting *outPutSetFre1;
    Channelsetting *outPutSetFre2;
    //Channelsetting *outPutSetFre3;
    //Channelsetting *outPutSetEle;
    //Channelsetting *outPutSetSwi;
    FrequencyRangeSetting * freSet;
    DrawPoints *drawPoints;
    Data *data;
    int paintTimer;
    bool _switch;
    transfer * ptTransfer;
    int type;
                     int type2;
这里是.h中的部分声明,其中的第七,八,九行是注掉的,程序编译后可以在板子上运行

第二次运行时将第七行声明注释去掉,将程序编译后下到板子上,程序崩溃。
现在的声明就为:
QLabel* OutputPannel_2;
    QFrame* Frame13_2;
    QPushButton* SumOutput;

    //OutputForm * outPutSetFre1;    
    Channelsetting *outPutSetFre1;
    Channelsetting *outPutSetFre2;
    Channelsetting *outPutSetFre3;
    //Channelsetting *outPutSetEle;
    //Channelsetting *outPutSetSwi;
    FrequencyRangeSetting * freSet;
    DrawPoints *drawPoints;
    Data *data;
    int paintTimer;
    bool _switch;
    transfer * ptTransfer;
    int type;
                     int type2;
并且无论增加的是第七行,还是把第七行注释掉重新加入别的声明,比如加入int temp;这类的声明依旧会崩溃,而且确定是不加不崩溃,一加就崩溃。难道是声明也有上限?
第三次运行时,将第七行声明重新写下,形式如下:
QLabel* OutputPannel_2;
    QFrame* Frame13_2;
    QPushButton* SumOutput;

    //OutputForm * outPutSetFre1;    
    Channelsetting *outPutSetFre1;
    Channelsetting *outPutSetFre2;
    //Channelsetting *outPutSetEle;
    //Channelsetting *outPutSetSwi;
    FrequencyRangeSetting * freSet;
    DrawPoints *drawPoints;
    Data *data;
    int paintTimer;
    bool _switch;
    transfer * ptTransfer;
    int type;
                     int type2;
public:
          Channelsetting *outPutSetFre3;

原有的所有声明其实都是在public下的,这么做无非是增加了一个public的声明,此时编译过的程序就能在板子上跑起来。
所做的实验都只是在声明处进行了更改,并没有涉及到信号槽以及函数调用,并且崩溃的初始化测试也成功,为所有的控件申请空间地址也是成功的,即程序崩溃和本身初始化无关,无非是增加了声明,所以问下
懂的牛人,到底是什么机制导致这种事情的发生?

    
离线laogao
只看该作者 1楼 发表于: 2009-11-25
真没有遇到这种情况的牛人么???
快速回复
限100 字节
 
上一个 下一个