リビアマ

リビアマは、監査割り当てによってリークトラッキングをバンドルするMalloc実装です。
今すぐダウンロード

リビアマ ランキングとまとめ

広告

  • Rating:
  • ライセンス:
  • Freely Distributable
  • 価格:
  • FREE
  • 出版社名:
  • Venkatesha Murthy G
  • 出版社のWebサイト:
  • http://personal.pavanashree.org/libyama/

リビアマ タグ


リビアマ 説明

リビアマは、監査割り当てによってリークトラッキングをバンドルするMallocの実装です。 libyamaは、監査割り当て、アレイバインド書き込み検出、フリー'Dメモリへのアクセスの検出、無効なポインタ上のFree / Reallocの検出によってリークトラッキングをバンドルするMalloc実装です。リークトラックにアレイバインドの上書き検出をビルドしようとしました。漏れトラックは、reventracを作成しました。 ;また、リークを追跡します。リークトラックのマージとコードをマージすると考えることができます。リークを追跡したいだけで、リークトラックはあなたが必要とするものだけです。デバッグをデバッグできるアロケータが必要な場合は、Yamaはあなたのためのものです。もちろん、ブロック上の他の類似点があります。メモリ・FREE'Dメモリへのアクセスを検出・非MALLOC '対応ポインタでの無料で検出します。・NULLポインタを検出します。 MMAPなどを提供するカーネルと、ELF共有ライブラリを構築できるGCCが必要です。まだ(非常にありそうもない)していない場合は、Binutilsをインストールする必要があります。また、/ procファイルシステムが必要です。 YAMAをインストールするにはArchiveDit MakeFileを解凍します。変更する必要がある唯一のものはinstalldirとbtです。 MakeMakeにインストールするようにlibを作ります。 installdirの書き込み権限が必要です.LDConfigUsageを実行する必要があるかもしれません:Yamaにはlibyama.soが含まれています。このライブラリは、Malloc、Calloc、RealLoc、およびFreeを提供しています。プログラムはコマンドライン(-lyama)上のリビアマとリンクすることができます。リビアマを使用するためのより興味深い方法は、LD_PRELOADを使用してプリロードすることです。コマンドラインLD_PRELOAD = libyama.soは、すべての呼び出しをMalloc、Calloc、RealLoc、およびFreeが実行されているプログラムからの発信元に発信され、YAMA実装によって処理されます。 libyama.soがldconfig -pに表示されない場合、またはLD_Library_Pathには表示されない場合は、フルパス長を指定する必要があります。プログラムが、アレイバインド間でメモリにアクセスすることによって、すなわち、malloc / calloc / reallocを使用して割り当てられたメモリを超えて、SIGSEGVを受信します。 FREE'DメモリへのアクセスもSIGSEGVになります。 -gを使用してプログラムをコンパイルした場合は、コアファイルの任意のデバッガを使用して問題を解決することができます。静的に割り当てられた配列の上書きはヤマによって検出されません。プログラムが無効な無料またはREALLOCである場合は、「アラート!」メッセージはSTDERRに書き込まれます。コールは失敗しました。通常のプログラムの終了、またはメインからの戻り、リークの概要がSTDERRに印刷されます。プログラム終了時に未フリーのままのメモリの各チャンクのサイズは、割り当てまでのコールチェーンとともに報告されます。Malloc(0)(またはcalloc(x、0))のヤマの動作環境変数allowmalloczeroによって制御されます。この変数が値= 2に設定されている場合、Yamaは有効なポインタを返し、警告は印刷されません。このポインタにも書き込みが失敗します。 allowMalloczeroが設定されていない場合、動作はallowmalloczero = 0と同じです。このリリースの新機能:・リビアマをクラッシュするスタックバックトレースコードのバグを修正しました。バックトレースのコンパイル時間管理(私はトレースを持っていない時にそれが有用であることがわかりました)。


リビアマ 関連ソフトウェア