bambooflow Note

BuGLe

最終更新:

Bot(ページ名リンク)

- view
メンバー限定 登録/ログイン

BuGLe


BuGLe(ビューグル)はOpenGLのデバッガ。
なかなか説明しているページが見つからない。
簡単な使い方をメモすることにしました。

使いこなせれば、なかなか便利なのかもしれません。



インストール準備



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というファイルを探します。

とりえず、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

タグ:

OpenGL buGLe
記事メニュー
ウィキ募集バナー