Skip to content

Commit aae3e3e

Browse files
committed
vscode: Add "Attach to Gamescope (Remote)" task
Depends on shellCommand extension in order for command substitution and pid finding to work.
1 parent 4322e7e commit aae3e3e

1 file changed

Lines changed: 66 additions & 0 deletions

File tree

.vscode/launch.json

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
{
2+
"version": "0.2.0",
3+
"inputs" : [
4+
{
5+
"id": "device_ip",
6+
"type": "command",
7+
"command": "shellCommand.execute",
8+
"args": {
9+
"command": "echo '${prompt:prompt=SteamOS Device IP or hostname}'",
10+
"useFirstResult": true
11+
}
12+
},
13+
{
14+
"id": "gamescope_pid",
15+
"type": "command",
16+
"command": "shellCommand.execute",
17+
"args": {
18+
"command": "ssh steamos@${input:device_ip} 'pidof gamescope'",
19+
"useFirstResult": true
20+
}
21+
},
22+
{
23+
"id" : "device_password",
24+
"description" : "'steamos' user's password",
25+
"type" : "promptString",
26+
"password": true,
27+
},
28+
],
29+
"configurations": [
30+
{
31+
"name": "Attach to Gamescope (Remote)",
32+
"type": "cppdbg",
33+
"request": "attach",
34+
"program": "/home/steamos/gamescope_local/build.local/src/gamescope",
35+
"processId": "${input:gamescope_pid}",
36+
"pipeTransport": {
37+
"debuggerPath": "/usr/bin/gdb",
38+
"pipeProgram": "/usr/bin/sshpass",
39+
"pipeArgs": [
40+
"-p",
41+
"${input:device_password}",
42+
"--",
43+
"/usr/bin/ssh",
44+
"steamos@${input:device_ip}"
45+
],
46+
"pipeCwd": "${workspaceFolder}"
47+
},
48+
"sourceFileMap": {
49+
"/home/steamos/gamescope_local": "${workspaceFolder}"
50+
},
51+
"MIMode": "gdb",
52+
"setupCommands": [
53+
{
54+
"description": "Enable pretty-printing for gdb",
55+
"text": "-enable-pretty-printing",
56+
"ignoreFailures": true
57+
},
58+
{
59+
"description": "Set Disassembly Flavor to Intel",
60+
"text": "-gdb-set disassembly-flavor intel",
61+
"ignoreFailures": true
62+
}
63+
]
64+
}
65+
]
66+
}

0 commit comments

Comments
 (0)