*********关于程序完全退出的原因(50)

F

fhuibo

Unregistered / Unconfirmed
GUEST, unregistred user!
最近写一个类似银行取款的软件,其中用到读卡器和密码键盘, 程序在运行的时候,偶尔会出现“当点击某个按钮时,整个程序就退出了”,也没法跟踪,只是偶尔会有一次退出。请大哥们帮忙!有遇到过吗,是什么原因?
 
谁让你点退出按钮呢
 
做个日志,把进入每个模块(函数)的时间和顺序都记录下来,并保存到文件中,当程序意外退出后,察看该纪录最后是进入哪个模块,这样就可以知道哪里的问题了。
 
To haidy 如何做日志?
 
创建一个全局的aStringList:TStringLIst,然后再一个流程中能调用到的函数过程的入口和出口都aStringList.add(FormatdateTime('函数名称入口'+'yyyy-mm-ss hh:mm:ss:zzz',now));aStringList.add(FormatdateTime('函数名称出口'+'yyyy-mm-ss hh:mm:ss:zzz',now));最后在真个一个流程结束后的地方,比如所有查询完毕,比如程序退出地方等aStringList..SaveToFile('log.txt');这样每次覆盖这个日志文件,当某次退出出错时,就能定位到那个函数出错了。如果退出时保存不了,就在每个函数退出时保存日志,用追加模式。这样出错后,打开日志最后一个函数就是出错地方。
 
或者自定义一个函数吧
 
大概是哪个模块应该知道吧,一般这种情况大部分是对内存操作错误造成的,比如复制字符申请内存之类的..
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
950
SUNSTONE的Delphi笔记
S
S
回复
0
查看
774
SUNSTONE的Delphi笔记
S
顶部