测试如下
1 使用 DELPHI 7 编译如何程序 (在link 页选上 Include TD32 debug info)
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
begin
Writeln('Hellow World');
Readln;
end.
生成EXE 文件大小为 644K OD 载入后
71A48238 > $ 55 push ebp
71A48239 . 8BEC mov ebp, esp
71A4823B . 83C4 F0 add esp, -10
71A4823E . A1 B093A471 mov eax, dword ptr [71A493B0]
71A48243 . C600 01 mov byte ptr [eax], 1
71A48246 . B8 F881A471 mov eax, 71A481F8
71A4824B . E8 44C7FFFF call Sysinit::InitExe
71A48250 . A1 0493A471 mov eax, dword ptr [71A49304]
71A48255 . BA 8882A471 mov edx, 71A48288 ; ASCII "Hellow World"
71A4825A . E8 D9BCFFFF call
System::Write0LString
71A4825F . E8 98AAFFFF call
System::WriteLn
71A48264 . E8 C3A3FFFF call
System::_IOTest
71A48269 . A1 7093A471 mov eax, dword ptr [71A49370]
71A4826E . E8 71A8FFFF call
System::ReadLn
71A48273 . E8 B4A3FFFF call
System::_IOTest
71A48278 . E8 CFB7FFFF call
System::Halt0
很详细的信息 哈哈 内部函数的名字 都有
去掉 Include TD32 debug info 选项后 再次编译 生成EXE 文件大小为 45K
OD载入
71A48238 > $ 55 push ebp
71A48239 . 8BEC mov ebp, esp
71A4823B . 83C4 F0 add esp, -10
71A4823E . A1 B093A471 mov eax, dword ptr [71A493B0]
71A48243 . C600 01 mov byte ptr [eax], 1
71A48246 . B8 F881A471 mov eax, 71A481F8
71A4824B . E8 44C7FFFF call 71A44994
71A48250 . A1 0493A471 mov eax, dword ptr [71A49304]
71A48255 . BA 8882A471 mov edx, 71A48288 ; ASCII "Hellow World"
71A4825A . E8 D9BCFFFF call 71A43F38
71A4825F . E8 98AAFFFF call 71A42CFC
71A48264 . E8 C3A3FFFF call 71A4262C
71A48269 . A1 7093A471 mov eax, dword ptr [71A49370]
71A4826E . E8 71A8FFFF call 71A42AE4
71A48273 . E8 B4A3FFFF call 71A4262C
71A48278 . E8 CFB7FFFF call 71A43A4C
....没有调试信息了 函数名字也没了
再换用 DELPHI2007 也同样选上 Include TD32 debug info 选项
生成 EXE 大小为 684 K
OD载入
00409134 > 55 push ebp
00409135 8BEC mov ebp, esp
00409137 83C4 F0 add esp, -10
0040913A A1 A0AA4000 mov eax, dword ptr [40AAA0]
0040913F C600 01 mov byte ptr [eax], 1
00409142 B8 808B4000 mov eax, 00408B80
00409147 E8 F0C1FFFF call 0040533C
0040914C A1 F4A94000 mov eax, dword ptr [40A9F4]
00409151 BA 84914000 mov edx, 00409184 ; ASCII "Hellow World"
00409156 E8 E1B7FFFF call 0040493C
0040915B E8 A8A4FFFF call 00403608
00409160 E8 779CFFFF call 00402DDC
00409165 A1 60AA4000 mov eax, dword ptr [40AA60]
0040916A E8 81A2FFFF call 004033F0
0040916F E8 689CFFFF call 00402DDC
00409174 E8 B7B2FFFF call 00404430
为什么 DELPHI 2007 编译的程序..OD看不到详细的调试信息呢?????????
如何 能让 DELPHI 2007 编译出来的东西也能像 D7 的那样..OD可以看到详细的函数名.???????????/
大牛们请指点
附件是分别使用 D7 和 D2007 编译出来的 前面的例程 都使用了 Include TD32 debug info 选项
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课