私はいくつかのメモリリークを捜し求めており、FullDebugModeでFastMMを使用してイベントログを取得しています。これはかなりうまくいきますが、スタックトレースは...あまりうまくいきません。Delphi - FastMMイベントログメソッドの名前
短い例:
This block was allocated by thread 0x25F8, and the stack trace (return addresses) at the time was:
4081E8 [FastMM4.pas][FastMM4][_ZN7Fastmm411DebugGetMemEx][8737]
4086A5 [FastMM4.pas][FastMM4][_ZN7Fastmm413DebugAllocMemEx][9019]
F0D820 [_ZN6System8AllocMemEx]
F18A0D [_ZN6System8TMonitor6CreateEv]
F18EEB [_ZN6System8TMonitor10GetMonitorEPNS_7TObjectE]
10AE265 [_ZN6System7Classes16CheckSynchronizeEi]
54CAC7 [Vcl.Forms.pas][Vcl.Forms][_ZN3Vcl5Forms12TApplication4IdleERK6tagMSG][11044]
54B598 [Vcl.Forms.pas][Vcl.Forms][_ZN3Vcl5Forms12TApplication13HandleMessageEv][10473]
54BA24 [Vcl.Forms.pas][Vcl.Forms][_ZN3Vcl5Forms12TApplication3RunEv][10611]
566719 [ServerRunner.pas][ServerRunner][_ZN12Serverrunner9RunServerEv][113]
これは私にとって読みやすい容易ではありません。私はユニット名が正方形のバックセットにあるのが好きですが、メソッド名はどうなりましたか?引数の型を持つメソッドの完全修飾名があることを理解しています。しかし、それに注入された混乱(_ZN3,5,12,3、Evのようなもの)は何ですか?
ランタイムパッケージを使用していますか?そして、どのようなスタックトレースライブラリが使用されていますか? –
https://en.wikipedia.org/wiki/Name_manglingを参照してください - この質問はSpring4Dにどのように関連していますか? –
@StefanGlienke:ありがとう。これはSpring4Dに密接に関連していません。私はこの質問をS4Dにタグ付けすることにしました(申し訳ありません)。これは、スタックトレースが採用されたプロジェクトで使用されている第2の理由は、S4Dコミュニティが私にとってより信頼できることです(特にあなたはマスターとして:)。 –