在kdevelop3中调试的古怪问题

south2000 2005-07-05 04:27:07
这里我给出详细的过程,请帮忙看看,谢谢!

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却偏偏不执行。
这是怎么回事?

请大家帮忙!
...全文
188 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
south2000 2005-07-14
  • 打赏
  • 举报
回复
算了,现在还是搞不定,我结贴了吧。
newbiestar 2005-07-14
  • 打赏
  • 举报
回复
哎……
south2000 2005-07-10
  • 打赏
  • 举报
回复
请问在linux里面,开发C++应用程序,有什么比较好的IDE啊?呵呵
ghtsao 2005-07-09
  • 打赏
  • 举报
回复
我也用Kdevelop,kdbg还很多缺陷,再做方便点就好了,查找源代码太因难了。
ghtsao 2005-07-09
  • 打赏
  • 举报
回复
我认为还是跟一定程度的优化有关,比如你的CPU动态优化机制发现最后一个i=3在别的代码中并没有使用这个变量,执行他没有什么实际意义,而前面几行代码因为不是变量的最后引用,所以还会影响程序,顺利执行,所以我推测,编译优化不是愿因,处理器优化倒有可能了。
newbiestar 2005-07-09
  • 打赏
  • 举报
回复
应该不是优化的问题,要是给gcc来优化的话,只有最后一个赋值才有可能保存下来,而且既然都产生了正确的汇编代码了,怎么可能还有优化的问题?

应该是KDevelop本身的设计就是这样,或者KDevelop有bug……
south2000 2005-07-09
  • 打赏
  • 举报
回复
没有人知道么?
south2000 2005-07-06
  • 打赏
  • 举报
回复
ghtsao(月之暗面),
系统原来用的是-g3 -O0

按照你说的,去改动了,还是不行.
ghtsao 2005-07-06
  • 打赏
  • 举报
回复
可能是你的代码被优化了,请用-g -O0编译。

23,116

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧