チュートリアル:リモートプロセスにアタッチ
RubyMine を有効化すると、ローカルまたはリモート コンピューター上で実行中のプロセスにアタッチできます。 この機能により、IDE から直接起動できないアプリケーションをデバッグできます。
このトピックでは、この機能を使用して、リモートマシンで実行されて いるサンプル Rails アプリケーションをデバッグ(英語)します。
前提条件
このチュートリアルでは、2 台のマシンを使用して、リモートアプリケーションのデバッグを示します。
ローカルマシン :macOS を搭載した Mac と RubyMine が インストール済み。
リモートマシン: SSH アクセスが有効で Ruby インタープリターが インストールされているUbuntu マシン。 GDB(英語) はリモートマシンにもインストールする必要があることに注意してください。
このチュートリアルでは、リモートコンピューターに sample-web-server という名前が付いています。
どちらのマシンでも、 jetbrains ユーザーのホームディレクトリを使用してソースコードを保存します。
リモートアプリケーションをクローンして実行する
まず、リモートマシンで サンプルアプリケーション(英語)のクローンを作成して実行する必要があります。 これを行うには、 リモートマシンに接続し、 入門(英語)の章の手順を使用します。 必要な手順を実行した後、 rails server コマンドを使用してアプリケーションを実行します。

ローカルマシンでプロジェクトをクローンする
リモートマシンでサンプルアプリケーションを実行した後、RubyMine を起動し、この手順を使用してローカルマシン上で同じアプリケーションを開きます: リモートホストからプロジェクトをチェックアウトする (git クローン)。 URL では、次のアドレスを挿入してください: https://github.com/JetBrains/sample_rails_app.git 。 次に、 クローン をクリックします。

リモートインタープリターを設定する
この部分では、SSH を使用してリモートインタープリターを設定します。
設定 ダイアログ Ctrl+Alt+S を開き、 言語とフレームワーク | Ruby インタープリター ページに移動し、
ボタンをクリックして、リストから リモートインタープリターまたはバージョンマネージャー を選択します。

呼び出されたダイアログで、 SSH 資格情報 を選択し、次のようにパラメーターを指定します。

SSH 構成: 省略記号ボタンをクリックして、リモートマシンに接続するための SSH 構成を作成します。
Ruby またはバージョンマネージャーのパス: ここでは、Ruby インタープリターまたは バージョンマネージャーの実行可能ファイルへのパスを指定する必要があります。 このチュートリアルでは、リモートマシンで rbenv を使用します。
すべての設定を指定したら、 OKです。 をクリックします。
前のダイアログでバージョンマネージャー実行可能ファイルへのパスを指定した場合、RubyMine は必要な Ruby インタープリターの選択を提案します。 このステップでは、リモートアプリケーションの実行に使用されるインタープリターを選択する必要があります。

OKです。 をクリックし、 Ruby インタープリター ページで追加されたインタープリターを選択します。

最後に行う必要があるのは、ローカルとリモートプロジェクトのファイル間のマッピングを指定することです。 これを行うには、 パスマッピングを編集
ボタンをクリックします。 プロジェクトパスマッピングの編集 ダイアログで、ローカルおよびリモートプロジェクトのルートパスを指定します。

場合、パスは次のようになります:
ローカルパス: /Users/jetbrains/RubymineProjects/sample_rails_app
リモートパス: /home/deploy/sample_rails_app
このダイアログで OKです。 をクリックし、 設定 ダイアログで OKです。 をクリックします。 これで、リモートプロセスに接続してアプリケーションをデバッグする準備が整いました。
リモートプロセスへのアタッチ
これでリモートアプリケーションをデバッグする準備が整いました。
users_controller.rb ファイルを開き、 create メソッド内で新しいユーザーが作成された行の横にブレークポイントを設定します。

メインメニューで 実行 をクリックして、 プロセスにアタッチ… コマンドを選択します。
呼び出されたダイアログで、 SSH グループ(この場合は sample-web-server @ 22 )でリモート接続を選択し、 ピューマプロセスを選択します。

コンソール タブにデバッガーの出力が表示されます:

アプリケーションのデバッグ
アプリケーションをデバッグするには、ローカルマシン上のブラウザーを開き、アプリケーションのアドレスを指定します。 私たちの場合、 http://sample-web-server:3000 になります。

今すぐサインアップ! ボタンをクリックします。 サインアップ ページで、必要なユーザパラメーターを入力し、 アカウントを作る をクリックします。

デバッガーはブレークポイントでセッションを 一時停止し、リモートアプリケーションの状態を 調べることができます。

たとえば、 サインアップ ページで指定されたユーザパラメーターを確認できます。
トラブルシューティング
プロセスにアタッチしようとして問題が発生した場合は、次の解決策を試してください。
リモートアプリケーションが、デバッグされたプロジェクト用に 構成されているものと同じ Ruby インタープリターで実行されていることを確認してください。
デバッグ接続タイムアウトを増やしてみてください。 これを行うには、 設定 ダイアログ Ctrl+Alt+S を開き、 ビルド、実行、デプロイ | デバッガー ページに移動して、 デバッグ接続タイムアウト オプションを使用します。