タグ

debugとrubyに関するkazuph1986のブックマーク (2)

  • CRubyでオブジェクトが生成された位置を突き止める - GC Advent Calendar - I am Cruby!

    Garbage Collection Advent Calendarの1日目の記事です。 おそらく一人でけっこう長い日数を書くと思うので、軽いものからボチボチと…。 しかもGCとはあまり関係ないですが…。 とあるオブジェクトの生成位置を調べたいとき、どうするのか。 object_idを1bit左シフトするとだいたいそのオブジェクトのRVALUEのアドレスになるので p (hoge.object_id 1).to_s(16) # => fa83a4 上記のようにobject_idを出力するコードを混ぜておきましょう。 その後にgdbrubyを動かしてみます。 この時、GC_DEBUG付きでビルドしたrubyなら実はソースコードとラインがわかります。 デバッグ用にGC_DEBUG付きのrubyがビルドできるようならそうしてみましょう。 rvmだったら.rvmrcに以下の設定するとできるんじゃ

  • Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC engineers' blog

    「つくるための三種の神器」というテーマで続けている「777ブログウェイ」! 9日目となる日は「Rubyで開発するときに入れておきたい三種のRubyGems」と題して、定番の RubyGems を3つご紹介します。 1. bundler「bundler」は、アプリケーションが依存するgemを管理するツールです。今やgem管理のデファクトスタンダードです。 「gem install hoge」のようにコマンドで gem をインストールしていくと、あれよあれよとグローバルな領域にどんどん色んなgemが…それも複数バージョン混在していきます。そして、いずれは、このアプリケーションで必要なgemはどれだっけ…バージョンはいくつだっけ…といった具合に、どんどん依存関係が分からなくなってきます。ここで活躍するのが「bundler」です。 使い方はいたって簡単。1) bundler のインストールgem

    Rubyで開発するときに入れておきたい三種のRubyGems - KAYAC engineers' blog
  • 1