メモリ可視化ツール「Ichimi(いちみ)」β版
- ダウンロード商品¥ 0

メモリヒートマップツール「ichimi」は、CSVファイルからメモリ確保・解放の情報を読み取り、その最終的な状態をヒートマップ形式で可視化するツールです。 C/C++ プログラムから CSV ファイルに出力できるようにすると、実行したプログラムが実行中にどの領域をどのくらいのメモリを使っていたかを直感的に確認することができるので、メモリリークの検出やパフォーマンス改善の一助として活用できます。
インストール手順
ダウロードしたファイルを解凍し、bin\ichimi.exe をダブルクリックすれば起動します。
基本的な使い方
1. C/C++ プログラムから CSV ファイルを出力 2. アプリ「ichimi.exe」を起動 3. 画面上部の「CSVを読み込む」ボタンをクリック 4. 対象のCSVファイルを選択すると、自動的に読み込まれ、ヒートマップが描画 5. マウスホイールで縦スクロールし、目的の領域を確認 6. ブロックをクリックすると、その領域に関するアロケーション履歴を表示
CSV ファイル仕様(読み込みフォーマット)
読み込む CSV は以下の4列構成で、メモリを確保・解放した順に改行して記述したものです。 ◯ フォーマット address,size,action,label address(必須): メモリアドレスを16進数表記で入力します。 0x は省略できます。 size(malloc時のみ): メモリ確保時のサイズをバイト単位で入力します。freeアクションの場合、サイズは空です。 action(必須): メモリ操作のタイプを指定します。 malloc(確保)またはfree(解放)を記載します。 label(任意): 任意でユニークな識別子を設定できます。 呼び出し元の関数名などを記入することで、識別用として利用できます。 ◯ 記載例 0x100000,1024,malloc,InitBuffer 0x100400,,free,InitBuffer ※ C/C++ コードからの出力サンプルを添付していますので、そちらも参考にしてください。
表示仕様
◯ ヒートマップ表示 - 1 ブロックを 1byte、1KB、…の領域(選択可)としてヒートマップとして表示します。 - 画面上部のスライダーを動かすことで、アロケーション履歴順に表示できます。 - 確保状態のメモリのあるブロックは、メモリの使用率に応じて赤色グラデーションで表示されます。(赤色が濃いほど使用率が高い) ◯ アロケーション履歴表示 - ブロックをクリックすると、そのブロックのアロケーション履歴が表示されます。 - 解放済みメモリは黒、確保状態にあるメモリは青、スライダー位置以降の履歴はグレー表示されます。
動作環境
対応 OS:Windows 10/11
商用利用・ライセンスについて
○ Ichimi 本体 個人、教育・研究機関等での利用:無料 企業、商用目的での利用 :β版に限り無料 ○ ソースコード 有料(予定) ※ 詳細は LICENSE ファイルを参照してください。