2

私はこの記事に出くわしました:http: //keramida.wordpress.com/2008/10/15/extracting-useful-info-from-freebsd-malloc-tracing/

記事で参照されているスクリプトは古くなっているようで、最初のコメントのリンクは404です。

Valgrindは、いくつかのシステムコールと、私が興味のない自分でそれらを実装することに関するエラーのために、FreeBSDで私のために働いていないようです。

このスクリプトがmalloc/freeを追跡するためにできると言っているようなものはありますか?

ありがとう

4

3 に答える 3

1

devel/valgrindポートは最近アップグレードされたので、現在のニーズを満たすことができます。

しかし、FreeBSD の malloc 実装 (phk-malloc としても知られています) には、いくつかの組み込み機能もあります。詳細については、malloc(3)の man ページを参照してください。「TUNING」セクションには、開発者にも役立つ情報が含まれています。

于 2013-10-30T18:53:14.600 に答える
0

Linuxでは、プログラムでmtraceを有効にすることができますが、これはコードの変更です。

OpenBSDでは、malloc統計を試すことができます。

Googleのリークチェッカーも一見の価値があるかもしれません。mtraceとは異なり、LD_PRELOADを使用して再コンパイルを回避できる場合があります。

于 2013-01-04T16:30:18.803 に答える
0

devel/ElectricFenceポートを使用してコードを計測 (リンク) してみてください。コードが無数の小さなバイトを割り当てない限り、これは割り当てられたメモリを過ぎたアクセスを見つけるのに役立ちます。漏れをチェックするだけなら、ElectricFence は必要ないかもしれません。

于 2013-01-04T18:28:27.213 に答える