ruby / vscode-rdbg

VSCode Ruby rdbg Debugger
MIT License
176 stars 49 forks source link

Can't attach to Rails debug session due to false ruby version error in VS code #89

Open rnorbauer opened 1 year ago

rnorbauer commented 1 year ago

I am using the standard launch.json

{
    "version": "0.2.0",
    "configurations": [
            ...
            {
                    "type": "rdbg",
                    "name": "Attach with rdbg",
                    "request": "attach"
            }
    ]
}

With this first line in my Procfile.dev (loaded by bin/dev)

web: rdbg -n --open=vscode -c -- bin/rails server -p 3000

When I run bin/dev, hit a breakpoint, and attempt to attach, however, I get this error: image

image

Is this dialog being generated by the vscode-rdbg plugin or being passed along from some underlying other utility?

This value appears to be come directly from .ruby-version at my root directory, since if I change that file's value then whatever is set there is the version that the dialog box will mention and say it can't find.

The issue, of course, is that I do indeed have 3.1.3 installed. image

I am, incidentally, running everything on Github Codespaces and attaching to it remotely in desktop VS Code. If I run the "Debug the current file with rdbg" config instead and type bin rails s at the command line, everything works and I don't see this dialog.

So I'm not sure how to go about addressing this issue. Any help would be greatly appreciated.

ko1 commented 1 year ago

I am, incidentally, running everything on Github Codespaces and attaching to it remotely in desktop VS Code. If I run the "Debug the current file with rdbg" config instead and type bin rails s at the command line, everything works and I don't see this dialog.

Sorry I don't know "Github Codespaces" well. Could you tell me your environments? My understanding is "Github Codespaces" is computing environment with IDE on the cloud. You wrote "remotely in desktop VS Code" so it seems you are running VSCode on your local computer.

My understanding:

Do you install Ruby binaries on your local side?

ryush00 commented 1 year ago

Hi there. I'm having the same problem.

It seems to me that VSCode is simply acting as a client, and all the actual execution of terminals and such is done on the remote side, so not having Ruby installed on the local side shouldn't be a problem.

@ryush00 ➜ /workspace (ruby-3.1-upgrade) $ which ruby
/usr/local/bin/ruby

Typically, Ruby development in Codespaces uses this docker devcontainer ruby image.

https://mcr.microsoft.com/en-us/product/devcontainers/ruby/about

This image has Ruby installed by default in /user/local/bin/ruby, and not via rbenv.

@ryush00 ➜ /workspace (ruby-3.1-upgrade) $ rbenv versions
rbenv: version `3.1.4' is not installed (set by /workspace/.ruby-version)
  system
@ryush00 ➜ /workspace (ruby-3.1-upgrade) $ ruby -v
ruby 3.1.4p223 (2023-03-30 revision 957bb7cb81) [x86_64-linux]

So running the line below seems to cause that error.

https://github.com/ruby/vscode-rdbg/blob/master/src/extension.ts#L382