【问题标题】:How do I check whether a particular code is in pageable or not through programming(Using static analysis method)如何通过编程检查特定代码是否可分页(使用静态分析方法)
【发布时间】:2013-01-28 19:19:04
【问题描述】:

使用任何静态代码分析工具或通过编码方法,我想检查特定代码/函数及其所有调用函数是否可分页或不可分页。

我正在尝试通过对任何开源工具进行修改来实现它并实现上述目标。

通过 msdn,PAGED_Macro 有一定的操作级别,但无法获得太多信息如何实现这一点。

我是新手,如果有任何帮助或建议,将不胜感激。

提前致谢。

【问题讨论】:

    标签: c++ windows kernel driver


    【解决方案1】:

    您似乎混淆了 2 个独立的概念。 PAGED_CODE() 宏验证代码是否在允许分页的级别执行 (IRQL <= APC_LEVEL)。这并不意味着包含代码驻留在分页内存中。静态工具无法验证执行级别,因为它是动态运行时设置。

    默认情况下,所有代码都驻留在非分页内存中。有一些预处理器指令可用于将代码段放入指定的段中,而这些段又可以定义为可分页或不可分页。您可以在 Making Driver Code or Data Pageable 找到有关此主题的文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-15
      • 2010-10-07
      相关资源
      最近更新 更多