我正在使用 Visual Studio 2010 编写和调试一个小程序。问题是,每当我通过 Visual Studio 2010 启动应用程序时,我的应用程序进程都会产生每秒 100000 次范围内的页面错误,这会使程序速度减慢 10 倍或更多。当我从文件系统启动生成的可执行文件时,启动完成后不会生成页面错误。这发生在调试和(允许所有优化)发布版本中。没有异常被抛出。
程序本身的编译量约为 200kib,执行时可容纳约 10mib 的数据,并有超过 4gib 的可用内存。只有主线程和日志框架的线程在运行。数据在开始时加载一次,之后只有结果存储在新分配的内存中并在最后写入日志。
似乎没有很多磁盘事件,Windows 资源监视器指示没有硬故障,而任务管理器显示的数字不断增加。我知道使用 IDE 会导致一些性能损失,但这似乎有点过分。有什么建议吗?
编辑:
注意:通过减少(取消)分配新内存,我能够将计数减少到大约一半。
Process Explorer 说:
看来调试器出了问题。如果我不附加它,它会按预期运行。虽然我仍然想知道为什么它会引发如此大量的页面错误,但它会大大减慢所有构建速度。
最佳答案
页面错误是正常的。它是分配内存过程的一部分。这没什么好担心的。
关于c++ - 从 Visual Studio 启动应用程序时出现页面错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6884946/