【Valgrind入門】Macユーザーのための明快Valgrindインストール
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を使うには
brew
はHomebrewのコマンドである。
$ 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を使わなくてはならない、というときのためのまとめでした。
Author And Source
この問題について(【Valgrind入門】Macユーザーのための明快Valgrindインストール), 我々は、より多くの情報をここで見つけました https://qiita.com/U_mytake/items/591b13a5200d41324f9d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .