diff --git a/bin/launch-client.md b/bin/launch-client.md index 193941ae2a718686f74269db35099ee4ff74e95f..0c01e893ba2c952a12c7a296b893c5093d982209 100644 --- a/bin/launch-client.md +++ b/bin/launch-client.md @@ -471,6 +471,25 @@ in this example **wflinfo**(1): that will run successfully inside the container, for example `steam-runtime-system-info`, `xterm` or `bash -i`. +The same mechanism can be used to attach an interactive debugger, +with commands like: + + $ steam-runtime-launch-client --list + --bus-name=com.steampowered.App440 + --bus-name=com.steampowered.App440.Instance54321 + + $ pgrep hl2_linux + 12345 + + $ gdb ./hl2_linux + (gdb) set sysroot /proc/12345/root + (gdb) target remote | \ + steam-runtime-launch-client \ + --bus-name=com.steampowered.App440 \ + -- gdbserver --attach - 12345 + (gdb) thread apply all bt + (gdb) detach + For a Steam game that runs under the "Steam Linux Runtime 1.0 (scout)" compatibility tool, the procedure is similar, but you would usually set its Steam Launch Options to @@ -497,30 +516,6 @@ like: -- \ wine winedbg notepad.exe -Similarly, for a Steam game that runs under the -"Steam Linux Runtime 1.0 (scout)" -compatibility tool, if you set its Steam Launch Options to - - STEAM_COMPAT_LAUNCHER_SERVICE=scout-in-container %command% - -then you can attach a debugger with commands like: - - $ steam-runtime-launch-client --list - --bus-name=com.steampowered.App440 - --bus-name=com.steampowered.App440.Instance54321 - - $ pgrep hl2_linux - 12345 - - $ gdb ./hl2_linux - (gdb) set sysroot /proc/12345/root - (gdb) target remote | \ - steam-runtime-launch-client \ - --bus-name=com.steampowered.App440 \ - -- gdbserver --attach - 12345 - (gdb) thread apply all bt - (gdb) detach - If a game is crashing on startup, this can be debugged by setting its Steam Launch Options to