Delphi 通过错误地址知道错误代码行.

来源:百度知道 编辑:UC知道 时间:2024/05/27 06:49:50
最近写了个程式,自己测试都OK,让别人用的时候,就有错误,给了一个偏移量,怎麼通过这个偏移量来知道错误代码行?
如图:
我看了一下,我的开发环境是WinXP+SP2+D7,用户用的是WinXP+SP1,应该是系统没打补丁吧,不过还没证实.
我看了我的那个Kernel32.dll的版本比用户的要高.
二楼说的,我看不行,因为在我的机器上怎麼测试都没有错误,用户用了1两个月才有的,比较郁闷.

倒是有个办法,你可以在工程选项里面设置生成exe的时候同时生成MAP文件,这是一个连接器地址表,里面是源代码文件名、行数和地址所对应的源代码行号,很具这些应该可以查到出错的行。。。

MAP文件是纯文本的,可以用记事本打开看。。。

这个可能没有办法的吧

只有自己仔细看代码,或问用户执行到那一项时出现的?

有点象内存泄漏。使用了没有初始化的变量或内存重复释放??

你可以先估计下大致的代码范围,然后在代码行中添加若干行:
ShowMessage('1');
...
ShowMessage('2');
......
ShowMessage('15');
然后在别人电脑运行看提示到多少就大致判断出错误行数了,虽然方法笨些,但简单易行。