gistfile1.md ruby-debugを使ったRuby・Railsアプリケーションのデバッグ方法 インストール # Ruby 1.8系の場合 gem install ruby-debug # Ruby 1.9系の場合 gem install debugger bundlerの場合は gem "ruby-debug" をGemfileに追記して bundle install します。 チュートリアル デバッガを起動する デバッグしたい場所で debugger メソッドをコールします。 class User def name debugger # ← これ puts "千早" end end rails consoleを --debugger オプション付きで起動します。 起動時にデバッガが有効になった旨のメッセージが出力されます。 script/console --debugger
Ruby 2.0系でのみ動作するdeivid-rodriguez/byebugというデバッガーが存在する事を知りました。 少し触ってみた所、2.0系とdebuggerではどうにも動作が不安定だったステップ実行がちゃんと実行できるし、動作も軽快で良い感じでした。 debuggerとの違いは以下のようになってます。 1.9系では動かない。2.0系のみ対応 2.0で追加されたデバッガ向けのC APIを利用しているため、MRIのソースに依存しないクリーンな実装。(debugger2みたいな感じ) debuggerで現在も残っているissueをいくつか解決している 特に正しいバックトレースを返してくれる点が良い 外部エディターサポートは組み込んでいない スレッドはまだサポートされていない。まだ新しいAPIでサポートされてないかららしい アクティブにメンテしてる pryコマンドを組込んでいるので、by
■ [ruby] Rubyのpデバッグは「p x: x」のようにすると良い Rubyプログラムのデバッグ中はpメソッドで変数の値を表示したりしますが、普通に「p x」とか書くと、画面に 3 とだけ表示されたりして、何が3なのか分からなくなってデバッグが進まない…みたいなことありますよね。 そこで、Ruby 1.9から導入されたハッシュの記法を使って p x: x みたいに書くと、これは p({:x => x}) と同じ意味なので、デバッグ出力が {:x => 3} みたいになって、ああ変数xに3が入ってるんだなと分かりやすくなります(かつタイプ数もそれほど増えない)。*1 変数が複数のときは p x: x, y: y みたいにします。
平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識
Garbage Collection Advent Calendarの1日目の記事です。 おそらく一人でけっこう長い日数を書くと思うので、軽いものからボチボチと…。 しかもGCとはあまり関係ないですが…。 とあるオブジェクトの生成位置を調べたいとき、どうするのか。 object_idを1bit左シフトするとだいたいそのオブジェクトのRVALUEのアドレスになるので p (hoge.object_id 1).to_s(16) # => fa83a4 上記のようにobject_idを出力するコードを混ぜておきましょう。 その後にgdbでrubyを動かしてみます。 この時、GC_DEBUG付きでビルドしたrubyなら実はソースコードとラインがわかります。 デバッグ用にGC_DEBUG付きのrubyがビルドできるようならそうしてみましょう。 rvmだったら.rvmrcに以下の設定するとできるんじゃ
国际项目管理杂志主编Martina Huemann教授与国际项目管理协会副主席到访工程管理学院 2023-04-28 工程管理学院召开学习贯彻习近平新时代中国特色社会主义思想主题教育动员大会 2023-04-27 访企拓岗|中信建投证券江苏分公司&南大工程管理学院企业开放日活动顺利举办 2023-04-24 免费在线伊甸2022入口举行“工管心空间”开启仪式暨“心育赋能润桃李”师生交流团体辅导活动 2023-04-21 双创育人论坛“把创业作为生活方式”讲座成功举办 2023-04-20 工程管理学院党委组织师生开展“奋进行动”本研育人研讨 2023-04-18 工业智能与系统集成实验班师生赴南京优倍智能工厂参观学习 2023-04-13 工程管理学院硕士生自动化党支部开展“奋进新征程 携手绘未来”主题党日活动 2023-04-04
割と情報が整理されておらず、調べ回って苦労した。 適当に Ruby1.9.3 ruby-debug とかで検索すると以下のアレが見つかる。 ruby-debug with Ruby 1.9.3? いろいろうさんくさい gist が貼られまくっていて錯綜している。順番に入れていく。 まず、 RubyForge から以下のファイルをダウンロードする。 linecache19-0.5.13.gem ruby-debug-base19-0.11.26.gem ruby-debug19-0.11.6.gem ruby_core_source-0.1.5.gem それぞれエントリを書いた現在での最新版。 gem install では入ってこないバージョンなので世の不条理を感じる。なんとかしてよ……。 落としてきたら、 Ruby 1.9.3 のソースパスを便利のために export する。 export
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
クリアコードではMozilla製品やRuby関連の開発だけではなく、広くフリーソフトウェアのサポートもしています。もちろん、サポート対象のソフトウェアの多くは私達が開発したものではありません。しかし、それらのソフトウェアに問題があった場合は調査し、必要であれば修正しています。 このようなサポートが提供できるのは、もともと、私達がフリーソフトウェアを利用したり開発したりしているときに日常的に問題の調査・修正をしていたからです。ソフトウェアを利用していると、問題に遭遇することはよくあることです。そのソフトウェアがフリーソフトウェアの場合は、開発者に問題を報告し、可能ならパッチを添えます。このとき、そのソフトウェアの内容を完全に把握していることはほとんどありません。しかし、それでも修正することができます。 それはどうしてでしょうか?今まではどのようにやっているのかを自分達でもうまく説明できなかっ
弊社で(総力を上げて)メンテナンスしているtappというライブラリがあるのですが、思ったより認知度が低いようなのでここで紹介させていただきます。 まとめ tappは、従来のPrint Debugの問題点を解決する画期的なライブラリです。 次のような経験がある方は、いますぐGemfileにtappを追加することをお勧めします。 メソッドチェーンの間のオブジェクトの状態を見るためだけに一時変数を使ったことがある ppやp、putsを消し忘れてリポジトリにコミットしてしまった tappとは tappは、Print Debugを簡単に行うためのRubyライブラリです。 リポジトリはhttps://github.com/esminc/tappになります。 tappの歴史 tappの作者である@ursmは、2008〜2009年頃に社内向けのモンキーパッチとしてtappを生みだし、Rails勉強会41.
RuinedはWebブラウザ上で動作するデバッガーです。 RuinedはRuby製のオープンソース・ソフトウェア。プログラミングを組んでいて、さっぱり分からないバグにハマることは多々ある。そんな時に便利なのがデバッガーだ。コードをステップ実行して追いかければ、どこで問題が発生しているかすぐに分かる。 ステップ実行しながらデバッグ 各プログラミング言語でデバッガーが提供されているが、利用するには何かと手間がかかるものも多い。そこで便利に使えそうなのがWebブラウザ上で動作するデバッガであるRuinedだ。 Ruinedは恐らくRuby 1.9系でのみ動作する。Webサーバを二つ立ち上げるのだが、一つが8383ポートでデバッガーとして動作し、もう一つは8384ポートでWebサーバとして動作する。RubyとJavaScriptを組み合わせた面白い動作だ。なお動作中のコード修正はできない。 グロー
このウェブサイトは販売用です! twiwt.org は、あなたがお探しの情報の全ての最新かつ最適なソースです。一般トピックからここから検索できる内容は、twiwt.orgが全てとなります。あなたがお探しの内容が見つかることを願っています!
RubyAdventJP, GC, Ruby(この記事はRuby Advent Calendar jp: 2009 : ATNDの4日目です。前日はmrknさんでした) 健全なるRubyistであれば、RubyのGCをいじることが週に一度はあるでしょう。そのときに困るのが、GCをいじってしまったことによるバグの修正です。GCをいじるというのは想像以上に難しく、少しでも書き間違えるとメモリ破壊が発生します。そのときに使えるTipsをこの記事で書くことにします。 みなさんご存じの通り、メモリ破壊というのは原因を特定するのが困難です。これは問題が発覚する場所とメモリ破壊が起こった現場が位置的に遠いことに起因しています。偉大なるハッカーのまつもとさんですら、その発見は困難です。 [ruby-dev:38628] Re: [BUG: trunk] called on terminated objec
『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日本 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く