请问如何调试一个程序中的某个过程?delphi自带的调试工具好象不行 (20分)

  • 主题发起人 主题发起人 foxgirl
  • 开始时间 开始时间
F

foxgirl

Unregistered / Unconfirmed
GUEST, unregistred user!
我的一段过程好象有问题,但这问题产生的条件很难摸清,请问如何对一个过程进行反复自动运行调试?
delphi中的run to cursor只能作一次,不能循环,单步也如此,而且象什么run unit rerurn 之类的菜单项却为灰色不可用状态,不知为何?
有没有第三方的调试工具啊,delphi的单步时,主程序窗口被最小化而且不能接受响应,有时候需要单步下一条指令时同时看到主程序窗口的变化。
 
一句来一个showmessage('aslfa;jdfkadf')

偶昨夜也遇到这种事,偶一个过程写得暴长,有300多行,总共31个if then 嵌套
和13个while

最后我终于看到是那错了~~~~~~~

还有一个办法,分解这个过程,写成几个过程减少逻辑错误的发生率
 
我也用showmessage()与beep这种"穷人的调试器"试了,还是很难摸清,难道没有一个比较好的办法吗?
 
分成二部分,不成的部分,再分。
继续调戏。
 
还是先整理程序,先尽量分成几个大块。
分块调试。
 
samboy111教foxgirl如何调戏,讲得精彩。鼓掌。

我也是偏爱穷人的调试器。
 
晕,31个if潜逃? IF超过7曾都不太科学了
 
强烈推荐用CodeSite调试控件!
 
CodeSite好象只是插入发消息的语句与记录消息
我想要可以单步循环执行的就可以了,因为我要看每步执行后主窗口上的变化情况,而这些在delphi中却把主窗口最小化了看不到
 
那就不要单步。
在form上放一个label, 每句语句后加个你预计的输出给这个label并且代码中加上sleep(xxx)然后盯着屏幕看就ok了.
 
Another_eYes的方法也不错
 
方一个memo,然后把信息结果输出到memo这样也可以跟踪。。。
 
ArJianzeng:
用memo 和label不是一样吗?[:D][:D][:D][:D][:D][:D][:D][:D][:D][:D]
 
记得好像调试器中可以设置变量的值变成多少以后在中断,另外,好像也可以监视
某个变量的值的改变,好多年不用了,既不清了。我总觉得这些功能没多大用处。
 
多人接受答案了。
 
后退
顶部