LoginSignup
12
6

More than 3 years have passed since last update.

【Valgrind入門】Macユーザーのための明快Valgrindインストール

Last updated at Posted at 2020-02-22

Valgrindを超簡単にインストールしたい

valgrindについてちょっと

valgringは、僕のようなC言語ユーザーが直面するメモリーリークとの戦いを手助けしてくれるらしい。

google翻訳によるとvalgrindは

動的分析ツールを構築するための計測フレームワーク

らしい。

僕はとにかくleaksではわからないメモリーリークの場所を発見しなければならず、Valgringの使用を迫られた。

あとちなみに読み方はヴァルグリンドである。
公式によるとこうだ。

「Valgrind」はどう発音するのか?
"Val"は”value (ヴァリュー)”のように、”grind”は短い”i”で ーー つまり”grinned (グリンド)” (”tinned”のリズムで) の方が”grined (グラインド)” (”find”のリズム) と発音するよりも好ましい。
気を悪くしないで欲しい: 最初は皆ほとんど違うのだ。

valgringはこんな感じで使う

$ valgrind ./a.out
$ valgrind --leak-check=full ./a.out

【準備】 インストールするためのインストール

どのツールを使うのか

valgrindについて検索したところ、

$ yum install valgrind

というyumでインストールするコマンドばかりで、謎の沼にはまってしまった。
zsh: command not found: yumと出るので、『Mac yumインストール』とググり出したが見つからない。
なぜyumを攻略できないのか理解できず困っていたところに似たような質問を発見。

そしてやっとyumはMacOS用ではないということを理解した!

yumはLinuxのディストリビューションで使われるパッケージ管理ソフトで、MacOSでは代わりにHomebrewが使われる

時間はかかったがMacユーザーの僕はbrewを使うべきだと理解した!
そう、Macユーザーの皆さん、僕たちはyumではなくbrewを使うのだ!!
Homebrewをインストールしておけば、

$ brew install valgrind

上記のようなyumと同じようなコマンドで、簡単にValgrindインストールできる。

brewを使うには

brewHomebrewのコマンドである。

$ brew --version

Homebrew最新版が存在していれば、次のステップへ。

そうでなければ

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

これをターミナルに貼り付けてhomebrewをインストールする。

Homebrewの日本語サイトもわかりやすいので一読するのをおすすめする。

これで準備は完了だ!

Valgrindインストール

ここまで来ればあとは簡単。

$ brew install valgrind

でvalgrindがインストールできる。
はい便利。

<追記:エラーが出る場合>

macOS High Sierra 以降では上記のコマンドでは以下のようにインストールできないとのエラーが表示される


valgrind: This formula either does not compile or function as expected on macOS
versions newer than High Sierra due to an upstream incompatibility.
Error: An unsatisfied requirement failed this build.

この場合は、代わりに下記コマンドでValgrindをインストールする


brew install --HEAD https://raw.githubusercontent.com/LouisBrunner/valgrind-macos/master/valgrind.rb

version等が更新されているかもしれないので、Valgrind GitHubも参照してください。

もうこれで使えます。
とにかくvalgrindを使わなくてはならない、というときのためのまとめでした。

12
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
6