欢迎光临 高端调试
登录
|
注册
|
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
C/C++本地代码调试
帖子发起人:
lzh
发起时间:
2008-01-30 11:32 上午
回复:
3
高端调试
»
软件调试
»
C/C++本地代码调试
»
Re: !heap -s 出错,提示 invalid signature
搜索论坛
帖子排序:
Oldest to newest
Newest to oldest
2008-01-30, 11:32 上午
lzh
注册: 2006-08-28
发 贴: 20
!heap -s 出错,提示 invalid signature
我想用windbg 的!heap -s 查看一个堆的信息
提示这个
Heap 00090000 has an invalid signature eeffeeff
哪个老大知道是什么原因,google上面没有搜到
谢谢
IP 地址: 已记录
报告
2008-02-02, 13:08 下午
土豆泥
注册: 2006-04-07
发 贴: 59
Re: !heap -s 出错,提示 invalid signature
每个堆都有个头结构,其中有个一个签名字段(Sginature)用来标识这个结构和它的完整性。上面的错误明显是!heap命令认为这个签名字段的取值不对。可能有两个原因,一是你的!heap命令的版本与系统不匹配;二是这个字段被破坏了。破坏的原因可能是堆溢出。
以下是XP系统中直接观察对的句柄地址而看到的结果:
0:001> dd 000a0000
000a0000 000000c8 0000017f eeffeeff 00000002
000a0010 00000000 0000fe00 00100000 00002000
000a0020 00000200 00002000 000009bd 7ffdefff
000a0030 06080001 00000000 00000000 00000000
000a0040 00000000 000a0598 0000000f fffffff8
000a0050 000a0050 000a0050 000a0640 00000000
000a0060 00000000 00000000 00000000 00000000
000a0070 00000000 00000000 00000000 00000000
注意第3个DWORD就是eeffeeff,它是有效的签名。你是在什么系统在看到的这个错误?
也这样观察一下。
IP 地址: 已记录
报告
2008-02-13, 09:26 上午
lzh
注册: 2006-08-28
发 贴: 20
Re: !heap -s 出错,提示 invalid signature
新年好!
这个dump是在服务器上面抓下来的,系统版本是:Windows Server 2003 Version 3790 (Service Pack 2) MP (4 procs) Free x86 compatible。
其中00090000是dllhost.exe的默认堆,dllhost.exe是我们的com+应用的宿主进程。
我用dd 00090000 看了一下,得到的信息是:
00090000 eeeeeeee eeeeeeee eeeeeeee 01000002,确实是签名不对。
但不知道什么原因引起的。
你说的两个原因,我用这个命名试别的堆是没有问题的,看来不是第一个原因。
这个dump是在开着pageheap /full的情况下抓下来的,应该是一有堆益出就开始抓dump的,不会破坏堆的结构吧?
IP 地址: 已记录
报告
2008-02-13, 13:01 下午
土豆泥
注册: 2006-04-07
发 贴: 59
Re: !heap -s 出错,提示 invalid signature
建议你在堆溢出前设置数据监视断点,使用WinDBG的ba命令:
例如:
ba r1 0009000c
这样来观察看何时被破坏的。
IP 地址: 已记录
报告
高端调试
»
软件调试
»
C/C++本地代码调试
»
Re: !heap -s 出错,提示 invalid signature
请选择
论坛首页
|- 论坛搜索
|- 热门主题
|- 未回复的主题
用户选项
|- 登录
|- 注册
|- 找回密码
软件调试
|- Windows内核调试
|- C/C++本地代码调试
|- .Net程序调试
|- 脚本程序调试
|- Java程序调试
|- Linux内核调试
|- 《程序员》杂志调试专栏
|- WinDbg
|- GDB
|- 远程调试
|- 调试ACPI和BIOS
|- 特殊的调试任务
|- 转储分析
|- GDK7
内核探秘
|- Windows内核
|- Linux内核
系统架构
|- CPU架构
|- PCI/PCI Express架构
程序人生
|- 软件物语
|- 社区活动
|- 名人逸事
联盟论坛
|- 欢迎使用CnForums
没有银弹
|- BUG也精彩
|- 豆腐工程
|- 软件圈里十大怪
Windows Vista
|- 用调试利剑剖析VISTA内幕
|- 老专家如何破解新问题
|- 我的电脑谁说了算?
|- 资源
Office开发
|- Visio
驱动程序开发
|- Windows驱动开发
|- Linux驱动开发
|- Windows CE驱动开发
用户态开发
|- Windows本地代码(native)高级开发
|- Web应用开发
|- WinFX和.Net
|- Office开发
本站建设
|- 高端调试团队
|- 版面布局
|- 活动建议
|- 网站维护
64位计算
|- 64-bit Windows
|- 64-bit CPU
图书
|- 《软件调试》的示例程序
|- 《软件调试》的工具
|- 《软件调试》书友
|- 《软件调试》答疑
|- 《软件调试》勘误和意见
|- 《格蠹汇编》
|- 《软件调试》第二版卷1
|- 《软件调试》第二版卷2
云计算
|- IaaS
|- 云存储
|- 大数据
|- PaaS和SaaS
GPU
|- CUDA
|- OpenCL
|- HSA
|- 游戏开发与调试
(C)2004-2020 ADVDBG.ORG All Rights Reserved.