如何在Delphi程序运行期或设计器得到出错行数、单元文件名?(50分)

  • 主题发起人 主题发起人 北京男人
  • 开始时间 开始时间

北京男人

Unregistered / Unconfirmed
GUEST, unregistred user!
利用Assert函数,和设置Assert回调的过程
可以很容易实现
 
Assert我知道,但是我不会自己实现。
你给我实现一个!;)
 
Assert需要你自己写检查代码,只有你写的地方才能得到。
ExceptionLog可以做到,并且有很详细的信息。文件会增大100多K。
 
去JEDI主页,下载JclDebug即可,编译和运行的时候,需要生成MAP文件,如果只要得到调用过程,则比较简单,如果要获取详细信息,则使用JclDebug把。里面有File,Proc等函数就是你要的。
也有其他第三方的,可以获取调用过程和单元文件名~~~
 
JclDebug只可以在编译期能用,我知道如何在运行期得到行号了!
用AssertErrorProc!自己实现就可以了!:)
AssertErrorProc:= MyAssertProc;
....
这样的话可以知道行号、出错信息啦!:)
Exe文件名也可以从Application.Exename得到,但怎么知道被哪个过程调用的呢?
 
哼,Assert只能得到Assert的函数和单元文件名等,不能得到“错误”的函数名等!
JclDebug可以在运行期使用的,你使用ErrorProc就可以了。
 
后退
顶部