我正在尝试让我的应用程序使用lookaside列表进行内存管理。我从这个主题的各种论文中了解了以下细节。
我面临的问题是我的应用程序似乎没有使用Lookaside列表。没有分配似乎来自旁视列表,并且所有释放的块都被移动到freelist。是否需要满足特定的编译器标志或条件才能使应用程序使用旁视列表? 应用程序在Microsoft Visual C ++ 2010快速版中编译,并在Windows XP SP3下进行测试。我正在使用免疫调试器来验证是否正在使用旁视列表。如果有更好的方法请告诉我。
答案 0 :(得分:1)
不是通过调试器运行进程,而是在运行时附加到进程,这表明应用程序在未进行调试时决定使用旁视列表。 This是我见过的唯一记录的地方。
堆堆栈管理器自动创建后备列表 创建,只要没有启用调试选项并且堆是 可扩展的。