【问题标题】:Exact Code segment size for a windows processWindows 进程的确切代码段大小
【发布时间】:2013-02-27 08:04:00
【问题描述】:

我们知道,linux 文件 proc/{pid}/status 为我们提供了特定进程的一些细粒度内存占用。它抛出的参数之一是“VmExe”或进程文本段的大小。我对这个领域特别感兴趣,但我被困在一个没有 proc 文件系统来帮助我的 Windows 环境中。 cygwin 模仿了大多数 procfs,但 {pid}/* 文件似乎是 cygwin 忽略的那些部分之一。我尝试在 Windows sysinternals 上使用 VmMap 工具,但我得到的最接近的字段是私有工作集上的“私有数据大小”。我不确定这是否是我要找的。​​p>

【问题讨论】:

  • 我不知道 Windows 是否会跟踪该信息,它似乎不会很有用。 FWIW,您可以使用 EnumProcessModulesEx 列出加载到进程中的模块和/或 VirtualQueryEx 来检查进程内存布局。

标签: windows process operating-system


【解决方案1】:

我会查看来自 sysinternals 的 vmmap.exe,看看它是否显示了您正在寻找的信息,对于给定的进程。如果您要查找的信息显示在那里,您可以查看应用程序使用的 api 调用,或在 msdn 上的 sysinternals 论坛上询问。我知道这并不是您在答案中所要寻找的,但希望它能为您指明正确的方向。

如果您谈论的是 PE 本身中的 :text 段,您可以从 debughlp 库以及许多其他方式(有一些库用于二进制分析)获取该信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多