特定の (7 年間機能した) launch.json 構成に関する問題をデバッグする
概要
プログラムのデバッグに問題があったため、最近 Ruby 3.1.2 と VSCode をアンインストールしました。 Ruby 3.1.4とVSCodeを再インストールしました。
私の構成は次のとおりです: Windows 11、rubyinstaller-devkit-3.1.4-1-x64、VSCodeSetup-x64-1.82.2
Ruby デバッグ Gems: debug (1.8.0、1.6.3)、ruby-debug-ide (0.7.3) VSCode 拡張機能: Ruby v0.28.1、Ruby LSP に接続するための VS Code プラグイン Ruby Solargraph v0.24.0’ VSCode に対する Ruby の rdbg デバッガー サポート、VSCode Ruby v0.28.0
私の Launch.json ファイル: 2016 年から使用しているのは
"version": "0.2.0",
"configurations": [
{ "name": "MAIN",
"type": "Ruby",
"request": "launch",
"cwd": "${workspaceRoot}",
"program": "${workspaceRoot}/main.rb"
},
デバッグ用にこの構成を選択すると、次の結果が得られます 「デバッガー エラー: クライアント: エラー: 接続 ECONNREFused ::1:1234」 デバッグ ツールバーが表示されず、プログラムは実行されず、tcpview には「ruby.exe,33588,TCP,Listen,127.0.0.1,1234,0.0.0.0,0,9/21/2023 4:17:33 PM,ruby」と表示されます。EXE、、、、” tcpview で強制終了しない限り、接続は解放されません
以下の新しい Launch.json エントリを作成しました。これは希望どおりに機能するようです
"version": "0.2.0",
"configurations": [
{ "type": "rdbg",
"name": "MAIN NEW ",
"request": "launch",|
"cwd": "${workspaceRoot}",
"script": "${workspaceRoot}/main.rb"
},
このエントリを選択すると、正しくデバッグされます。
しかし、これを実行した後に戻って最初の構成を選択すると、動作が少し異なります デバッグ ツールバーが表示されることを除いて、前と同じ症状 (prog は実行されません) そしてそれ(sqrボックス)を閉じると、接続はtcpviewで解放され、複数のコマンドを実行できます。 回数と接続はそのたびに解放されます (デバッグ バーがある限り)。あとがきはまだ可能です 設定 2 でプログラムをデバッグします。
いくつか質問があります
「https://marketplace.visualstudio.com/items?itemName=KoichiSasada.vscode-rdbg」
https://translate.google.com/translate?hl=ja&sl=en&tl=ja&u=https://bundler.io/v2.4/man/gemfile.5.html”
=========================更新======================= =
質問 4 は理解できると思います。「フォルダーを開く」の場所に Gemfile を作成し、次の行を入力しました。
source "https://rubygems.org"
ruby "3.1.4" , :patchlevel => "223"
gem "debug", require: false
gem "nokogiri"
次に、VSCodeターミナルで「bundle install」を実行しました。これにより、同じディレクトリに Gemfile.lock が作成されました。ということで、期待どおりに機能しているようです。
gem “debug”, require: false を追加しても、デバッグの問題に違いはありませんでした。
=========================更新======================= = 9 月 26 日 user3285799 によると、「VSCode を 1.82 から 1.76 にダウングレードすることで修正しました。」 私のシステムにはインストールファイル VSCodeUserSetup-x64-1.73.1.exe があり、そこにドロップバックしました。問題はなくなり、どちらの構成も正常に動作しました (拡張機能は変更しませんでした)。 VSCodeSetup-x64-1.80.2 (2023_08_03 06_09_33 UTC).exe (以前にあったと思っていたもの) を削除して再インストールしましたが、両方の設定エントリはまだ機能していました。その後、インストールしたのが最新バージョンではないことに気付きました。 VSCodeSetup-x64-1.82.2.exe をインストールすると、問題は設定 1 で再発しました。そのため、バージョン 1.81 または 1.82 で発生し始めました。注: 動作した 1.80 は、動作しなかった 1.82 と同じ拡張子をすべて使用していました。
そのため、問題を引き起こす変更が vscode に加えられました。設定 1 のことは忘れて、設定 2 に進みます。
launch.json エントリのドキュメントが見つかった限りでは
https://translate.google.com/translate?hl=ja&sl=en&tl=ja&u=https://code.visualstudio.com/Docs/editor/debugging#_launchjson-attributes https://translate.google.com/translate?hl=ja&sl=en&tl=ja&u=https://code.visualstudio.com/docs/editor/variables-reference
また、launch.json に移動して「タイプ」エントリに入り、コントロールスペースを押すと、その「タイプ」のペイマスターの多く (すべてではありません) がリストされることがわかります。
したがって、現時点ではすべての問題が解決済みであるとみなされますが、新しい問題が 1 つあります
ユーザーコマンドボックスを起動して irb show_cmds を実行すると、次の結果が得られます。
C:\Users\DNLocal>irb
irb(main):001> show_cmds
Cannot access file C:\Users\DNLocal\-R
=> nil
irb(main):002>
しかし、他の多くのコマンドは機能するようです ユーザー管理者ボックスを起動してirbを実行すると機能します
「ファイル C:-R」への参照が見つかりません
解決策
私の場合は、VSCode を 1.82 から 1.76 にダウングレードすることで問題を修正しました。 また、VSCode バージョンの自動更新を停止します。 ファイル>ユーザー設定>設定 Update:Mode は「なし」に設定する必要があります。