在kdevelop3中调试的古怪问题
这里我给出详细的过程,请帮忙看看,谢谢!
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却偏偏不执行。
这是怎么回事?
请大家帮忙!