タグ

2018年8月21日のブックマーク (2件)

  • C++ のプログラムのデバッグを楽にする方法

    Google が公開しているソフトウェアの解説シリーズ(→その1 , その2)の続きです。今回は google-glog を使ってスタックトレースを表示する方法についてご紹介します。 C++ でプログラムを書いているとよく遭遇するのがセグメンテーション違反というエラーです。不正なアドレスへのアクセスなどによりセグメンテーション違反が起きると、通常、 UNIX 系の OS では SIGSEGV というシグナルによってプログラムが終了するとともに、 core というファイルが作られます。 core ファイルにはデバッガから参照できるいろいろな情報が残っていますが、多くの場合に役に立つのは、スタックトレースという情報です。スタックトレースを見れば、プログラムがどこでクラッシュしたのか、どのような関数を経由してそこにたどり着いたのかがわかります。プログラムがクラッシュした箇所を特定できれば、単純な

    C++ のプログラムのデバッグを楽にする方法
  • google-glogで最低限使いたい,ただ1つの機能 〜自動スタックトレース出力〜 | さかな前線

    もう10年以上も前になりますけども,近場の漁港によく連れて行ってもらって魚釣りしていました. ちょうどアジは西日の日海側が場ということもあって,僕の地元では岸壁に立ってサビキをすると小アジがたくさん釣れました. さて,google-glogと言えばgoogle謹製のログライブラリ. Google Japan Blog: C++ のプログラムのデバッグを楽にする方法にて概要が紹介されていて,ドキュメントには簡単なチュートリアルがあります.基的には使い方に難しいところは何も無いです. お魚さん的には学部卒論のときから使っててもはや手放せないんですが,作業が切羽詰ってくるとあんまり律儀にログを出す余裕がなくなってきますw そんな時でもただ一ついつでも使ってたのが,「落ちた時にスタックトレースを吐く機能」です. ということで今回はそれに絞って紹介.まとまった記事を書くには今時間的余裕がない