“新建”->“dialog ui”,名字叫dlg 3。在kdevelop里面,右键点击d....">

当前位置:  技术问答>linux和unix

在kdevelop3中调试的古怪问题

    来源: 互联网  发布时间:2015-10-08

    本文导语:  这里我给出详细的过程,请帮忙看看,谢谢! 1。用kdevelop建立一个"Simple KDE Application "工程,名字叫Test 2。“文件”->“新建”->“dialog ui”,名字叫dlg 3。在kdevelop里面,右键点击dlg.ui,选择用"Qt"打开 4。现在进入Qt...

这里我给出详细的过程,请帮忙看看,谢谢!

1。用kdevelop建立一个"Simple KDE Application "工程,名字叫Test
2。“文件”->“新建”->“dialog ui”,名字叫dlg
3。在kdevelop里面,右键点击dlg.ui,选择用"Qt"打开
4。现在进入Qt了,在dlg上面放一个按钮,在dlg里面新建一个slot,名字叫newslot(),Qt会自动产生一个文件dlg.ui.h,在newslot()里面添加这么几句int i; i=0; i=1; i=2; 即可。
5。把按钮与newslot()连起来。保存,然后退出Qt。
6。现在回到kdevelop,可以看到有dlg.ui.h,打开dlg.ui.h,在i=0;处设置断点。
7。打开main.cpp,在里面添加include "dlg.h"
把Test *mainWin = 0;改为Form1 *mainWin = 0;
把mainWin = new Test();改为mainWin = new Form1();
8。编译。发现编译成功。
9。在debug状态下运行。看到刚才做的对话框。点击那个按钮,光标停在断点i=0;处。
10。观察变量i的值。使用单步运行,发现i=0;i=1;可以正确看到i的值,而i=2却提示"No symbol i"。我如果在i=2;后面添加i=3;, 那么i=2这句可以看到值,而i=3这句就看不到了。真FT!!
而且,我在观察汇编的时候,发现i=0,i=1,i=2,i=3每个都正确对应有汇编语句,但i=3却偏偏不执行。
这是怎么回事?

请大家帮忙!

|
我认为还是跟一定程度的优化有关,比如你的CPU动态优化机制发现最后一个i=3在别的代码中并没有使用这个变量,执行他没有什么实际意义,而前面几行代码因为不是变量的最后引用,所以还会影响程序,顺利执行,所以我推测,编译优化不是愿因,处理器优化倒有可能了。

|
我也用Kdevelop,kdbg还很多缺陷,再做方便点就好了,查找源代码太因难了。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • kdevelop3 如何启用代码帮助(code complete)功能?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3