CodeGear C++ Builder XE5 を使用しています。TIdTCPServer で作成されたサーバーはうまく機能します。ただし、サービスによって使用されるメモリは増加しています。最終的にFastMM4メモリマネージャのフルバージョンを含めることができ、オプションをいじった後、メモリリークの確認が見つかりました:
13 - 20 bytes: TIdThreadSafeInteger x 1
21 - 36 bytes: TIdCriticalSection x 2, Unknown x 1
53 - 68 bytes: UnicodeString x 1
85 - 100 bytes: Unknown x 21
149 - 164 bytes: Unknown x 21
181 - 212 bytes: Unknown x 2
明らかに x1 と x2 は私には関係ありませんが、x21 リークは非常に使用頻度の高いサービスであるため、問題があります。各接続で 100 バイトと 164 バイトが出血します。
詳細情報の状態:
A memory block has been leaked. The size is: 100
This block was allocated by thread 0xD98, and the stack trace (return addresses) at the time was:
8D4743 [Unknown function at @@Zip_int@Finalize]
8D461D [Unknown function at @@Zip_int@Finalize]
8E0F94 [Unknown function at @@Zip_int@Finalize]
8E0F59 [Unknown function at @@Zip_int@Finalize]
8DFADA [Unknown function at @@Zip_int@Finalize]
8DE722 [Unknown function at @@Zip_int@Finalize]
8BF045 [Unknown function at @@Searchfilelist@Finalize]
8C4C90 [Unknown function at @@Searchfilelist@Finalize]
8D6638 [Unknown function at @@Zip_int@Finalize]
775D1C77 [Unknown function at RtlNtStatusToDosErrorNoTeb]
452A45 [@Fastmm4@DebugGetMem$qqri]
The block is currently used for an object of class: Unknown
A memory block has been leaked. The size is: 164
This block was allocated by thread 0x5394, and the stack trace (return addresses) at the time was:
8D4743 [Unknown function at @@Zip_int@Finalize]
8D461D [Unknown function at @@Zip_int@Finalize]
8E0FD9 [Unknown function at @@Zip_int@Finalize]
8E0F59 [Unknown function at @@Zip_int@Finalize]
8DFADA [Unknown function at @@Zip_int@Finalize]
8DE722 [Unknown function at @@Zip_int@Finalize]
8BF045 [Unknown function at @@Searchfilelist@Finalize]
8C4C90 [Unknown function at @@Searchfilelist@Finalize]
8D6638 [Unknown function at @@Zip_int@Finalize]
775D1C77 [Unknown function at RtlNtStatusToDosErrorNoTeb]
452A45 [@Fastmm4@DebugGetMem$qqri]
The block is currently used for an object of class: Unknown
The allocation number is: 125893
この時点で私は立ち往生しています.Zip_intを直接呼び出さないため、これがどこに来るのかわかりません. 誰でも私を正しい方向に向けることができますか?