【问题标题】:Memory leaks in USP10.DLLUSP10.DLL 中的内存泄漏
【发布时间】:2012-09-30 22:23:17
【问题描述】:

我在我的一个应用程序(通过 PINVOKE 使用 C++ dll 的 .NET 应用程序)上运行了调试诊断工具 v1.2,它显示以下警告:

usp10.dll 负责 9.25 MB 的未完成分配。以下是前 2 个内存消耗函数: usp10!MapFullFile+14:9.19 MB 的未完成分配。 usp10!AllocateCMAPtables+e6:18.50 KB 的未完成分配。

我不知道这个 USP10.DLL 是从哪里来的。谷歌告诉我这是some service to render unicode-encoded text。任何想法为什么我会看到此警告?

【问题讨论】:

    标签: c++ .net memory-leaks memory-leak-detector


    【解决方案1】:

    Usp10.dll 是 Uniscribe 脚本处理器。它处理文本的正确格式,任何将文本输出到屏幕的程序都会依赖它。 CMap 是一种字体数据结构。你看到它做的是缓存字体数据,每次需要数据时从字体文件中检索它太贵了,而且会使文本渲染太慢。

    在卸载 DLL 之前,这样的缓存不会被破坏。所以你真正看到的是你的工具中的一个缺陷。它报告内存泄漏太快,在正常的进程清理发生之前。您应该向供应商提交缺陷报告。

    【讨论】:

    • 哇!所以我可以忽略这个泄漏吗?并专注于真正的泄漏。
    猜你喜欢
    • 1970-01-01
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    • 2013-10-21
    相关资源
    最近更新 更多