1

我有一个 .NET WPF 应用程序,它使用我们编写的 C++/CLI 库来通过 Microsoft Media Foundation 库控制视频。

在监控各种设备上的私有字节性能计数器时,此计数器在数周内保持稳定。然而,在配备英特尔 GMA3650 显卡的系统上,当应用程序运行(播放视频)时,此性能计数器会以明显且稳定的速率增加。如果我通过切换到 Windows 7 Basic 主题来禁用 Aero,这个计数器会明显更好,尽管 stll 略有稳定增加。

C++/CLI 代码主要执行基本的视频传输控制功能以及从序列中添加/删除视频片段。它还通过 对当前视频进行快照IMFSourceReader::ReadSample

看起来这个驱动程序导致我的应用程序出现内存泄漏,但我什至不确定这是否可能。是否所有应用程序都容易受到任何底层操作系统库或操作系统在执行应用程序时使用的库中的内存泄漏的影响?

4

1 回答 1

1

任何可以在您的进程虚拟地址空间中分配内存的软件都可能导致内存泄漏。驱动程序可以通过诸如ZwOpenSection. 因此它们可能导致进程泄漏内存

现在仅仅因为它可以泄漏内存并不意味着它确实泄漏了内存。您的应用程序中更有可能存在错误。第一步是分析并找出泄漏的内存并从那里继续

于 2013-08-30T04:15:35.323 回答