Delphi编写的程序怎样像VC这样利用Map文件进行查错? ( 积分: 200 )

  • 主题发起人 主题发起人 叮叮当当
  • 开始时间 开始时间

叮叮当当

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序运行很长一段时间后发生了未知的异常错误,弹出的错误对话框上只显示了出错的代码地址,这使我查找这个隐蔽的错误大伤脑筋,毕竟错误并不是经常出现的,但对交付的软件产品而言,稳定性非常重要,这个棘手问题必须解决。

为此我在网上查找除错的相关资料,看到下面这篇文章:

怎样使用Map文件进行查错
http://blog.csdn.net/kulala/articles/173973.aspx

文章的最后写到“只要编译器可以生成 MAP 文件(包括 VC、MASM、VB、BCB、Delphi……),本方法都是适用的”,这使我很兴奋。

我打开Delphi设计了一个简单的出错例子,然后在项目选项中进行了生成map文件的设定,运行例子记下出错的代码地址后,我用记事本打开编译后产生的.map文件察看,发现map文件里函数列表中却没有像VC一样列出至关重要的Rva+Base地址,请问有没有高手知道怎样解决?Delphi就没有办法实现利用Map文件进行查错这个激动人心的功能了么?

分不是问题!请各位仗义相助!
 
我的程序运行很长一段时间后发生了未知的异常错误,弹出的错误对话框上只显示了出错的代码地址,这使我查找这个隐蔽的错误大伤脑筋,毕竟错误并不是经常出现的,但对交付的软件产品而言,稳定性非常重要,这个棘手问题必须解决。

为此我在网上查找除错的相关资料,看到下面这篇文章:

怎样使用Map文件进行查错
http://blog.csdn.net/kulala/articles/173973.aspx

文章的最后写到“只要编译器可以生成 MAP 文件(包括 VC、MASM、VB、BCB、Delphi……),本方法都是适用的”,这使我很兴奋。

我打开Delphi设计了一个简单的出错例子,然后在项目选项中进行了生成map文件的设定,运行例子记下出错的代码地址后,我用记事本打开编译后产生的.map文件察看,发现map文件里函数列表中却没有像VC一样列出至关重要的Rva+Base地址,请问有没有高手知道怎样解决?Delphi就没有办法实现利用Map文件进行查错这个激动人心的功能了么?

分不是问题!请各位仗义相助!
 
Detailed选项生成的就有嘛
 
To: weekboy
没有的。

Address Publics by Name

0002:00002B8C .01
0002:00002840 .94
0001:00001970 @AbstractError
0001:000028B0 @AfterConstruction
0001:000026BC @AsClass
0001:00001DA0 @AStrCmp
0001:000028C0 @BeforeDestruction
 
后退
顶部