BuGLe
使いこなせれば、なかなか便利なのかもしれません。
インストール準備
bugle-0.0.20091026.tar.bz2
$ tar jzf bugle-0.0.20091026.tar.bz2
- libreadline-dev
- libgtk-dev
- libgtkglext1-dev
- libgtkglextmm-x11-1.2-dev
- libavcodec-extra-52
- libdlna-dev
↑足りる?
$ ./configure
次のようになるように必要なライブラリをインストールしておく。
Configuration: API combination: gl-glx libavcodec: yes readline: yes GUI: yes (with OpenGL) event interception: yes
$ make $ sudo make install
エラー対策
実行時、次のエラーが出る。
*** %n in writable segment detected *** Aborted
次のようにインストールする
$ ./configure CFLAGS=-D_FORTIFY_SOURCE=1 $ make $ sudo make install
gldb-gui使い方 メモ
gldb-guiは、bugleのGUIフロントエンド。(たぶん)
bugleの準備
bugleを使うにはfilter-set chainというのを用意しないといけないようです。
普通にコンパイルすると、$HOME/.bugle/filtersというファイルを探します。
普通にコンパイルすると、$HOME/.bugle/filtersというファイルを探します。
とりえず、exampleのものを使います。
$ cd bugle-0.0.20091026/doc/examples $ ls filters statistics
$ mkdir $HOME/.bugle $ cp -p filters statistics $HOJME/.bugle
準備完了です。
filtersとstatisticsファイルは、工夫次第でいろいろできそうです。
gldb-gui実行
試しに、glxgearsをデバッグしてみる。
$ gldb-gui glxgears &

- RUN->RUN
- RUN->STOP

どう使うのかはここでは省略。
(ステップ実行とかもできそうです。)
(ステップ実行とかもできそうです。)
一旦、実行を停止します。
- RUN->Kill
(もしくはglxgearsウィンドウの×ボタンを押す)
次にFilter-set chainを使ってみます。
今回はステータス表示させます。
今回はステータス表示させます。
- Options->Target
Filter Scanに"showstats"を書き込んでOKを押す。

再度、実行してみます。
- RUN->RUN

実行画面に、ステータス(デバッグ)表示されたと思います。
これは、次の実行と同じ実行結果になります。
これは、次の実行と同じ実行結果になります。
$ BUGLE_CHAIN=showstats LD_PRELOAD=libbugle.so glxgears
参考
- http://www.opengl.org/sdk/tools/BuGLe/documentation/index.php
- http://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/c906.html