![]() |
glog - Logging library for C++ |
Googleは2008年10月、C++アプリケーションにおける開発を支援するライブラリとしてgoogle-glogを発表した。このライブラリを使った実際の利用例がGoogle Japan Blog C++ のプログラムのデバッグを楽にする方法で紹介されている。Google Japan Blogで実施されているソフトウェア解説シリーズのひとつという位置づけ。
あまり遭遇したくないが、UNIX系OSを使っている場合、C/C++で開発されたアプリケーションがセグメンテーション違反(SIGSEGVシグナル)でコアファイルを吐きながら死んでゆく自体に遭遇したことがあるだろう。コアファイルにはデバッグに役立つ情報が入っているため、デバッガを使ってどこで問題が発生したのかを突き止める場合に活用されることになる。
C++ のプログラムのデバッグを楽にする方法ではgoogle-glogを使って、プログラムがセグメンテーション違反で終了する段階でスタックトレース情報を表示するようにし、コアファイルが出力されてからデバッガで探っていかなくても問題を特定しやすくする方法を紹介している。JavaやPythonがスタックトレース情報を出力しながら異常終了するのと同じことをC++で実現してみようという内容だ。google-glogの活用事例として興味深い。