毎分約 4kb のプライベート メモリをリークしているように見える Windows マルチスレッド コンソール アプリケーションがあります。
リークを特定するために、リークが止まるまでアプリケーションの各スレッドを徐々に中断しました。驚いたことに、原因は「Win32Thread」という名前のスレッドのようです。
私が明示的に開始したスレッドのようには見えません。
アプリケーションをアタッチして中断すると、スタック トレースは次のようになります。
ntdll.dll!_KiFastSystemCallRet@0()
ntdll.dll!_NtCancelTimer@8() + 0xc bytes
ntdll.dll!_RtlpResetTimer@12() + 0x15 bytes
> ntdll.dll!_RtlpServiceTimer@12() + 0xfd bytes
ntdll.dll!_KiUserApcDispatcher@16() + 0x25 bytes
kernel32.dll!_BaseThreadStart@8() + 0x34 bytes
なぜこれが突然リークするのか、誰にも分かりますか?
アプリケーションは、Win2k3 SP2 デュアル コア システムで約 40 時間実行されています。
どんなアイデアでも大歓迎です。