タグ

Linuxとcに関するHeavyFeatherのブックマーク (3)

  • アセンブリ読んだら負けかなと思ってる - 誰かの役に立てばいいブログ

    子供のころからできるだけ手抜きして成果を挙げることだけは長けている山です。 今回は、C/C++ で作ったプログラムが運用中にクラッシュするときのデバッグ方法のお話しです。 開発中のデバッグは gdb などでソース追いながらデバッグできますが、運用中ですと strip していたり最適化していたりしてデバッグが難しくなります。 そもそも、いきなりクラッシュすると情報が残らずに困ってしまいます。そんなときどうするか。 Step1. スタックトレースを出力する こんな関数を用意しましょう。Linux 以外の人はそれなりに実装してください。 #include <execinfo.h> #include <unistd.h> void dump_stack() { void* bt[100]; int n = backtrace(bt, 100); backtrace_symbols_fd(bt,

    アセンブリ読んだら負けかなと思ってる - 誰かの役に立てばいいブログ
  • pthread でキューを作る(再挑戦)。ついでに dtrace でスレッドの解析 - IT戦記

    一日、一回 pthread 勉強。 はじめに pthread でキューを書いてみる - IT戦記に関して、id:n-soda さんからとても貴重なアドバイスを沢山頂いたのですべて直しておきたいと思います。 当にありがとうございます。 指摘が会った点まとめ 再帰呼び出しの問題 キューが一杯の場合に enQ() の再帰呼び出ししているのが変です。ここは while で書けるはずです。Cの場合、末尾再帰の削除をしない処理系がほとんどですし、このケースでは、deQ() 側のスレッドと enQ() 側のスレッドで速度差があるだけで再帰してしまいますから、スタックを相当無駄に消費します。スタックオーバーフローで死んでしまう可能性もあります。 http://d.hatena.ne.jp/amachang/20080611/1213165364#c1213677983 sleep(0) の問題 キューの

    pthread でキューを作る(再挑戦)。ついでに dtrace でスレッドの解析 - IT戦記
  • 教科書として書かれた一冊- 書評 - 例解Unixプログラミング教室 : 404 Blog Not Found

    2008年05月18日11:00 カテゴリ書評/画評/品評iTech 教科書として書かれた一冊- 書評 - 例解Unixプログラミング教室 著者より献御礼。 例解Unixプログラミング教室 冨永和人 / 権藤克彦 内容が「Unix/Linuxプログラミング 理論と実践」のだけど、こちらはこちらで良著。「Unix/Linuxプログラミング 理論と実践」がクックブック的なら、こちらは「リャマ」的な一冊となっている。 書「例解Unixプログラミング教室」は、UnixプログラムをCで書くための教科書を目指して書かれた一冊。 目次 - 例解UNIXプログラミング教室 - 書籍紹介【和書】 Pearson Education Japanより。 第1章 C の復習(1):マニュアルの読み方,エラー処理,構造体,共用体 第2章 C の復習(2):ポインタ,バイトオーダ,複雑な型 第3章 低水準入出力

    教科書として書かれた一冊- 書評 - 例解Unixプログラミング教室 : 404 Blog Not Found
  • 1