タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

gdbに関するpunitanのブックマーク (2)

  • SIGNALを考慮してないTheSchwartz Job workerをなるべく安全に停止する - 酒日記 はてな支店

    TheSchwartz の worker はシグナルに対してデフォルトでは何もしないので、再起動させようと SIGHUP を送信したりすると job 処理の途中で割り込まれて死ぬ可能性があります。 自前でトラップして安全に再起動する方法は過去に TheSchwartz の worker を安全に停止する で書きました。3年前の記事ですが。 今回は、シグナルへの対処がなされていない古いスクリプトを修正したものの、既に動いている worker を安全に止めないと入れ替えられないのでどうするか、というお話。 安全な停止法を twitter で緩募したところ、以下のようなアドバイスを頂きました。しかし別の queue DB 使うのは確実そうだけどちょっと面倒ですよね…… 緩募: signal trapしてないTheSchwartzのjob workerを安全に止める方法 2011-04-25 11

  • Perlの中をgdbで覗く | BLOG - DeNA Engineering

    こんにちは。DeNAの樋口です。 Perlで書かれたアプリを動かしているときに、Perlのプロセスが今コードの何処を実行中なのか知りたいことがよくあります。そのような場合には、gdbで実行中のプロセスにアタッチし、Perlインタプリタインスタンスの内部を覗くことによって調べることができます。また同様の方法で、プロセスのコアダンプを取り、後でじっくりデバッガで調べることも可能です。 デバッグシンボル付きのPerlを用意する まず前提として、Perlの実行形式にデバッグシンボルが付いている必要があります。無い場合でも不可能ではありませんが、現実的には難しいでしょう。デバッグシンボル付きのPerlを用意する方法はOSによりますが、例えばrpmを使っているGNU/Linuxディストリビューションであればperl-debuginfoのように分離されたパッケージにデバッグシンボルが入っていることが多い

    Perlの中をgdbで覗く | BLOG - DeNA Engineering
  • 1