私は以下のような非常に簡単なテストプログラム(test.pas)を持っていますが、メモリトレースを生成しようとしていますが、行番号などを含む詳細な出力は得られません。fpcデバッグ出力に行番号を生成できません
program test;
var
intPointer:^integer;
begin
new(intPointer); //Allocate some memory
intPointer^:=5;
// dispose(intPointer);
WriteLn('Hello World');
end.
私は以下を実行しました。
fpc -g -gh -gl test.pas; ./test
これは私が得る出力です。このおもちゃの例では
Hello World
Heap dump by heaptrc unit
1 memory blocks allocated : 2/8
0 memory blocks freed : 0/0
1 unfreed memory blocks : 2
True heap size : 327680 (32 used in System startup)
True free heap : 327488
Should be : 327512
Call trace for block $00000001000CA0C0 size 2
、私はintPointer
がオフに配置されていなかったが、大規模なアプリケーションのために、私はより多くの洞察力のために期待していたことを伝えることができます。オンラインの他の例では、メモリを割り当てた元のファイルに行番号が表示されているようですが、私が間違って何をしているのか不思議でした。
提案がありますか?
編集:私は行番号情報を取得できませんよ
を追加しました別の例(サブセクション9.2)。特にスタックトレースのトップ呼び出しのために、正確にソースファイルを決定することはできませんlineinfoたまに
http://www.math.uni-leipzig.de/pool/tuts/FreePascal/units/node10.html
バージョン?ターゲット?数日前に新しいリリースが出ました。 –
私はfpc 3.0.2を使用しています。これはosxで実行しています。 – kdheepak