マイペースなRailsおじさん

Ruby、Ruby on Rails、オブジェクト指向設計を主なテーマとして扱います。だんだん大きくなっていくRuby on Rails製プロダクトのメンテナンス性を損なわない方法を考えたり考えなかったりしている人のブログです。

Ruby CoreをCLionでデバッグモード実行する

CLionでRubyデバッグする

CLionは、JetBrains製のC、C++用の高機能なIDEです。このIDE上でCRubyをデバッグモードで実行すると、解析や試行錯誤が捗ります。デバッグの様子は、下記のビデオを見てください。

youtu.be

設定方法

1. Rubyソースコードをダウンロードする

git clone https://github.com/ruby/ruby.git

2. Rubyをmakeする

autoconf
./configure
make

3. CLionでMakefileを開く

File -> Open

f:id:ytnk531:20210125093808p:plain

4. ビルドの設定

Execurableに、minirubyを指定します。
次に、Program Argumentsに、test.rbを指定します。 これでminirubyをコンパイルしてtest.rbをminirubyで実行するように設定できました。

f:id:ytnk531:20210125093929p:plain

5. .gdbinitの編集

rpなどのruby開発のマクロが使えるようにします。

まず、プロジェクトごとのgdb設定が有効になるようにします。 ~/.gdbinitを作成して下記内容を記述します。’

set auto-load local-gdbinit on
add-auto-load-safe-path /

これでruby用の.gdbinitが読み込まれるようになるのですが、このままだとCLionからgdbが起動できません。対策として、ruby用の.gdbinitの最初の行を、下記のようにコメントアウトします。

# set startup-with-shell off

実行してみる

以上で設定は完了です。test.rbにrubyコードを書いたら、そのコードが通るはずのCのコードにブレークポイントを置いて、デバッグ実行をしてみてください。デバッグは、ここの虫のマークを押すと実行できます。

f:id:ytnk531:20210125095040p:plain

参考サイト