- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在做一些关于高内存问题的工作,我一直在 windbg 中进行大量堆分析,我很好奇“!heap -flt -s xxxx”命令中不同列的真正含义。
我读了What do the 'size' numbers mean in the windbg !heap output? ,我查看了我的“Windows Internals”一书,但我仍然有很多问题。所以专栏和我的问题如下。
**HEAP_ENTRY** - What does this pointer really point to? How is it different than UserPtr?
**Size** - What does this size mean? How is it different than UserSize?
**Prev** - This just appears to be the negative offset to get to the previous heap entry. Still not sure exactly how it's used.
**Flags** - Is there any documentation on these flags?
**UserPtr** - What is the user pointer? In all cases I've seen it's always 8 bytes higher than the HEAP_ENTRY, but I don't really know what it points to.
**UserSize** - This appears to be the size of the actual allocation.
**state** - This just tells you what state of this heap entry is (free, busy, etc....)
Example:
HEAP_ENTRY Size Prev Flags UserPtr UserSize - state
0015eeb0 0044 0000 [07] 0015eeb8 00204 - (busy)
最佳答案
HEAP_ENTRY
堆将分配的 block 存储在连续的内存段中,每个分配的 block 以一个 8 字节的 header 开头,后跟实际分配的数据。 HEAP_ENTRY 列是分配 block 的头部的开始地址。
尺码
堆管理器以 8 个字节的倍数处理 block 。该列是分配的 8 字节 block 的数量。在您的示例中,0044 表示该 block 占用 0x220 字节(0x44*8)。
上一页
乘以 8 得到前一个堆 block 的负偏移量(以字节为单位)。
标志
这是对以下信息进行编码的位掩码
0x01 - HEAP_ENTRY_BUSY
0x02 - HEAP_ENTRY_EXTRA_PRESENT
0x04 - HEAP_ENTRY_FILL_PATTERN
0x08 - HEAP_ENTRY_VIRTUAL_ALLOC
0x10 - HEAP_ENTRY_LAST_ENTRY
!heap -s
的输出显示哪些堆启用了 LFH。
关于debugging - "!heap -flt -s xxxx"windbg命令中的不同列代表什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6687414/
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我想格式化 UITextField用于输入信用卡号,使其只允许输入数字并自动插入空格,以便数字格式如下: XXXX XXXX XXXX XXXX 我该怎么做? 最佳答案 如果您使用 Swift,请阅读
我正在尝试使用以下代码创建信用卡类型文本,但无法做到这一点,有什么办法吗? func textField(textField: UITextField, shouldChangeCharactersI
我有一个 16 个字符的字符串,它是这样的: 1234567891234567 我需要能够格式化字符串,因为它会出现在系统中,即 XXXX-XXXX-XXXX-4567 注意上面显示的 4567 位数
List list = fromStudentTable(); Map map = new HashMap(); for (Student i : list) { map.put(i.getD
我需要将这六个字段保存在同一列中,但不在同一行和同一单元格中。每个字段都有默认的 GUID。所以我决定将默认的 GUID 放在一个列表中,将字段放在一个列表中,并在我们想要的地方调用该特定列表的对象。
我刚刚开始使用 stackify 的 Retrace 来监控我的应用程序,并且看到了数千个错误,这些错误是: System.FormatException: Guid should contain 3
我使用的是演练:第 1 部分 - 创建基本项目系统,完全按照网站 http://msdn.microsoft.com/en-us/library/cc512961.aspx 上的说明使用以及与从 ht
我正在使用 antd 表单项,我尝试了以下模式,但它不起作用。 rules: [{ pattern: new RegExp("^d{4}-d{2}-d{4}$"), messag
当我的数据库离线时,我没有遇到这个错误。我刚刚使用 db4free.net 使我的数据库联机。 每次登录都会出现此错误。有人能指出哪里出了问题吗? private void btnLogIn_Clic
当我的数据库离线时,我没有遇到这个错误。我刚刚使用 db4free.net 使我的数据库联机。 每次登录都会出现此错误。有人能指出哪里出了问题吗? private void btnLogIn_Clic
我有以下代码(如果我保留警告,它可以编译并正常工作,我还没有使用 global::hack 对其进行测试): namespace NotifierService.Models {} namespace
我迷路了:我正在尝试让 MySQL 在我的一个小型控制台程序中工作;我有一个在本地主机上运行的 MySQL 服务器,我可以通过 MySQL Workbench 8.0 CE 访问它。那里没问题。我的程
当我尝试构建我的应用程序时,链接器给出大量错误,如下所示: modlauch.obj : error LNK2005: "public: virtual __thiscall lolbutton::~
我对 Excel VBA 还很陌生。到目前为止,我已经在这个网站上阅读并学到了很多东西,但还没有找到解决我的问题的方法。 作为宏的一部分,我有以下代码: With Worksheets("Oracle
如上所述。我举一个例子,假设所有的测试值都小于1但大于0。 0.12(精度:3,小数位数:2) 0.345(精度:4,小数位数:3) 0.6789(精度:5,小数位数:4) 如何在不对比例和精度值进行
我收到四个“在 com.rusapp.batch.trans.OLFMWriter 类中找不到属性“xxxx”的 setter ”。该类中的第五个 bean,inputQueue,没有错误。其余的在下
我在 javascript 中有 2 个字符串,其中包含代表文件版本的数字。 即 var str1 = "11.11.1111.1111" var str2 = "11.22.3333.5555" 如
package com.test.nativeapp; import android.support.v7.app.ActionBarActivity; import android.os.Bundl
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: A comprehensive regex for phone number validation 什么是正
我是一名优秀的程序员,十分优秀!