Skip to content

Conversation

ko1
Copy link
Collaborator

@ko1 ko1 commented Jul 6, 2022

On DAP via TCP/IP connection, all the source code are detected
as remote files (without localfs:true in launch.json for VSCode).
In this case, DAP clients (VSCode, ...) receive the contents
of the file from DAP server and open an editor window in readonly mode.

local_fs_map configuration can set remote->local path translation.

For example,

RUBY_DEBUG_LOCAL_FS_MAP=/remote/src/:/local/src/ rdbg -O --port=...

On this case, if remote path is /remote/src/is/foo.rb, then DAP
returns /local/src/is/foo.rb and open the local file as writable
mode.

You can specify multiple path maps with ',' character like

RUBY_DEBUG_LOCAL_FS_MAP=/r1/:/l1/,/r2/:/l2/ ...

and also you can specify this map within launch.json for VSCode like:

        {
            "type": "rdbg",
            "name": "Attach with rdbg (TCP/IP 12345)",
            "request": "attach",
            "debugPort": "localhost:12345",
            "localfsMap": "/remote/src/:/local/src/"
        }

If both are provided, launch.json setting is used.

fix #463
fix ruby/vscode-rdbg#32

On DAP via TCP/IP connection, all the source code are detected
as remote files (without `localfs:true` in launch.json for VSCode).
In this case, DAP clients (VSCode, ...) receive the contents
of the file from DAP server and open an editor window in readonly mode.

`local_fs_map` configuration can set remote->local path translation.

For example,

```
RUBY_DEBUG_LOCAL_FS_MAP=/remote/src/:/local/src/ rdbg -O --port=...
```

On this case, if remote path is `/remote/src/is/foo.rb`, then DAP
returns `/local/src/is/foo.rb` and open the local file as writable
mode.

You can specify multiple path maps with ',' character like

```
RUBY_DEBUG_LOCAL_FS_MAP=/r1/:/l1/,/r2/:/l2/ ...
```

and also you can specify this map within launch.json for VSCode like:

```
        {
            "type": "rdbg",
            "name": "Attach with rdbg (TCP/IP 12345)",
            "request": "attach",
            "debugPort": "localhost:12345",
            "localfsMap": "/remote/src/:/local/src/"
        }
```

If both are provided, launch.json setting is used.

fix #463
fix ruby/vscode-rdbg#32
@ko1 ko1 merged commit bea4bf5 into master Jul 6, 2022
@ko1 ko1 deleted the local_fs_map branch July 6, 2022 20:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Does the cwd option work in an attach configuration? Proposal: Report relative paths to VS Code to support remote debugging
1 participant