如何判断已提交内存和保留内存中的内容
How to tell what is in committed and reserved memory?
我目前正在研究应用程序为C++应用程序使用大量专用内存的问题。 根据转储分析,似乎很多内存都在已提交和保留内存中。
我使用Windbg。 有什么方法可以查看已提交和保留内存中的确切内容? 我已将其缩小到一个特定的堆。
我的理论是它没有被释放。 我无法实时调试,我只有转储要继续。
任何建议都会有所帮助。
!address -Filter
应该能够提供这些信息。以下是不同的过滤器选项。
MEM_COMMIT :- 所有内存 目前承诺供 目标。物理存储已 在物理内存中为此内存分配 内存或页面文件中。
MEM_RESERVE :- 所有内存 保留供目标将来使用。 未为 分配物理存储 这段记忆。
MEM_FREE :- 所有可用内存 目标的虚拟地址空间。 此内存包括 尚未承诺或保留。 此筛选器值与 区域使用免费。
相关文章:
- 必须为 C++20 协程帧保留多少内存?
- 为异步发送缓冲区保留内存(提升 asio 套接字)
- 访问"std::vector"的保留但未调整大小的内存作为原始内存是否安全?
- X 处的指令引用了 Y 处的内存.内存无法读取
- 释放指向保留嵌套变量内存地址的结构的指针
- C++ STL 向量保留太多容量会消耗大量内存吗?
- 堆内存,所有保留的内存由noscript_shared_function_infos持有
- 如何写入为结构保留的内存位置
- C++ 清除动态阵列中的内存 - 内存无法清除
- std::unordered_set::保留容器内存要求的角色?
- 无法保留指向内存的指针
- 将保留在内存中传递的变量的副本
- 如果我声明一个没有名称的类实例,它会保留在内存中吗?
- 内核AIO(libaio)写入请求在启动时从保留的内存中写入时失败
- C++在 Obj1 的构造函数中使用新的 Obj2() 时分配以前保留的内存
- 关于向量保留大内存的问题
- "FreeLibrary"后将字符串值保留在内存中
- 如果对赋给指针的迭代器进行自增操作,该指针是否保留原始内存位置?
- 在没有文件支持的情况下保留共享内存(Linux/Windows) (boost::interprocess)
- 低内存内存管理:查找和跟踪随机函数返回值的重复项