ruby 解决特定(工作7年)launch.json配置的问题

cetgtptt  于 12个月前  发布在  Ruby
关注(0)|答案(1)|浏览(96)

我最近在调试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,VS Code plugin for connecting with the Ruby LSP Ruby Solargraph v0.24.0' Ruby's rdbg debugger support for VSCode,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"
    },

如果我选择此配置进行调试,我会得到“调试器错误:客户端:错误:connect Escape REFUSED::1:1234”There is NO未显示工具栏程序未执行,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中被释放,我可以运行多次,每次连接都被释放(只要有调试栏)。后记仍然可以在config 2下调试prog。
有几个问题
1.不关心修复条目1,但想知道为什么7年后停止工作。如果这工作,如果是这样,我将从哪里开始解决这个问题。
1.条目2是在调试下拉列表中按文件名显示多个独立.rb文件的正确方法吗?还是有更好的方法?如果我有一组示例文件(如微光),我希望能够通过调试列表选择文件

  1. 1.有没有一个关于为vscode创建ruby launch.json文件的教程,它试图在vscode本身中遵循,它跳过了一些我感兴趣的变量。找不到任何有用的东西都在一个地方,我所见过的最好的是,但并没有解释所有的变量
    “网址:https://marketplace.visualstudio.com/items?itemName=KoichiSasada.vscode-rdbg“
    1.我试着按照“把宝石“调试”,要求:假在你的Gemfile和运行bundle安装。”并最终没有得到任何地方。我的任何项目中都没有gem文件,它们必须手动创建吗?但它并没有明确说明这一点。
    https://bundler.io/v2.4/man/gemfile.5.html"
    ==
    我相信你能回答第四个问题。我在“打开文件夹”位置创建了一个Gemfile,并输入了以下行。
source "https://rubygems.org"
ruby "3.1.4" , :patchlevel => "223"
gem "debug", require: false
gem "nokogiri"

然后在VSCode终端运行“bundle install”。这在同一目录中创建了一个Gemfile.lock。看起来它像我预期的那样工作。
添加gem“debug”,需要:false对我的调试问题没有影响。
==问题消失了,两个配置都运行良好(没有扩展更改)。删除并重新安装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://code.visualstudio.com/Docs/editor/debugging#_launchjson-attributes www.example.com
还发现,如果转到launch.json并进入“type”条目并点击控制空间,它将列出该“type”的许多(但不是全部)paymaster
因此,将考虑所有问题关闭在这个时刻,但确实有一个新的问题
如果我打开一个用户cmd框并运行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:\Users\DNLocal-R”的引用

bvjxkvbb

bvjxkvbb1#

在我的例子中,我通过将VSCode从1.82降级到1.76来修复它。也停止自动更新VSCode版本的文件>用户设置>设置更新:模式应设置为“无”。

相关问题