Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

《软件调试》的示例程序

帖子发起人: udknight   发起时间: 2009-04-17 10:23 上午   回复: 2

Print Search
帖子排序:    
   2009-04-17, 10:23 上午
udknight 离线,最后访问时间: 2010/2/16 16:20:30 udknight

发帖数前50位
注册: 2009-04-13
发 贴: 18
关于第81页的HiInt3
Reply Quote

按照书上面的代码顺利完成了这个例子的调试。不过有个地方感到不解。为什么只能运行命令

u `hiint3!HiInt3.cpp:11` 其他的诸如u `hiint3!HiInt3.cpp:1`没有一个能成功的。全部都返回No information found error at '`hiint3!HiInt3.cpp:1`'


*** WARNING: Unable to verify checksum for HiInt3.exe
0:000> u `hiint3!HiInt3.cpp:11`
HiInt3!main+0x19 [C:\dig\dbg\author\code\chap04\HiInt3\HiInt3.cpp @ 11]:
00401029 681c204200      push    offset HiInt3!`string' (0042201c)
0040102e e84d000000      call    HiInt3!printf (00401080)
00401033 83c404          add     esp,4
00401036 8bc0            mov     eax,eax
00401038 cd03            int     3
0040103a 90              nop
0040103b 90              nop
0040103c 8bf4            mov     esi,esp
0:000> u `hiint3!HiInt3.cpp:1`
No information found error at '`hiint3!HiInt3.cpp:1`'
0:000> u `hiint3!HiInt3.cpp:12`
No information found error at '`hiint3!HiInt3.cpp:12`'
0:000> u `hiint3!HiInt3.cpp:20`
No information found error at '`hiint3!HiInt3.cpp:20`'
0:000> da 0042201c
0042201c  "Hello INT 3!."
0:000> u hiint3
HiInt3!ILT+0(_main) (HiInt3+0x0):
00400000 4d              dec     ebp
HiInt3!ILT+0(_main) (HiInt3+0x1):
00400001 5a              pop     edx
HiInt3!ILT+0(_main) (HiInt3+0x2):
00400002 90              nop
HiInt3!ILT+0(_main) (HiInt3+0x3):
00400003 0003            add     byte ptr [ebx],al
HiInt3!ILT+0(_main) (HiInt3+0x5):
00400005 0000            add     byte ptr [eax],al
HiInt3!ILT+0(_main) (HiInt3+0x7):
00400007 000400          add     byte ptr [eax+eax],al
HiInt3!ILT+0(_main) (HiInt3+0xa):
0040000a 0000            add     byte ptr [eax],al
HiInt3!ILT+0(_main) (HiInt3+0xc):
0040000c ff              ???


IP 地址: 已记录   报告
   2009-04-17, 12:47 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 关于第81页的HiInt3
Reply Quote
第1和20行都是注释,第12行是空行,编译后没有产生代码,所以调试器找不到这些源代码行的信息。

IP 地址: 已记录   报告
   2009-04-17, 13:44 下午
udknight 离线,最后访问时间: 2010/2/16 16:20:30 udknight

发帖数前50位
注册: 2009-04-13
发 贴: 18
Re: 关于第81页的HiInt3
Reply Quote
呵呵,明白了。当时随便试了下。没有注意到这个,谢谢张老师的指点。
IP 地址: 已记录   报告
高端调试 » 图书 » 《软件调试》的示例程序 » 关于第81页的HiInt3

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.