microsoft / microsoft/vscode-cpptools
Launch mode with gdbserver running ignores auto-solib-add
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 6.2k
- Forks
- 1.7k
- Avg merge
- 14h 46m
- Merged PRs (30d)
- 61
Description
Environment
- OS and version: 22.04 WSL Ubuntu
- VS Code: 1.97.2
- C/C++ extension: 1.23.6
- OS and version of remote machine (if applicable): U
- GDB / LLDB version: 16.2
Bug Summary and Steps to Reproduce
Bug Summary:
We launch a binary inside a Docker container. The docker container exposes in port 1234 a GDBServer 16.2.
I realized that the debugger session ignores the .gdbinit, even if I try to force sourcing it from hte setupCommands. It seems that it parses the file, but it does not apply the changes at all.
Example:
- In current workspace folder, a .gdbinit
set solib-search-path /home/borjamf/workspace/whatever/build/whatever/opt/lib
set auto-load safe-path /
set print pretty on
set print object on
set index-cache enabled on
set auto-solib-add off
First it just starts without any consideration to the file: (the logs shows that) but afterwards it excutes the setupCommands properly:
- it complains about the autoload path first... however it's /
- sysroot is properly setup
- source the .gdbinit
- But the sentences are being ignored somehow.
If we check:
-exec show auto-solib-add
it returns on, however if should pick off.
Debugger Configurations
{
{
"name": "Launch Debug GDBServer",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/whatever/whatever.bin",
"stopAtEntry": false,
"externalConsole": true,
"logging": {
"engineLogging": true,
"traceResponse": true,
"trace": true
},
"postDebugTask": "myPostDebugTask",
"targetArchitecture": "x64",
"cwd": "${workspaceFolder}",
"preLaunchTask": "MyPrelaunchTask",
"miDebuggerServerAddress": "localhost:1234",
"miDebuggerPath": "${workspaceFolder}/gdb-16.2",
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": false
},
{
"description": "ignore SIGUSR1 signal",
"text": "-gdb-set auto-load safe-path ${workspaceFolder}",
"ignoreFailures": false
},
{
"description": "ignore SIGUSR1 signal",
"text": "source ${workspaceFolder}/.gdbinit",
"ignoreFailures": false
},
{
"description": "set sysroot",
"text": "-gdb-set sysroot mySysroot",
"ignoreFailures": false
},
]
},
}
Debugger Logs
> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (126) LaunchOptions{\"name\":\"Launch Debug GDBServer\",\"type\":\"cppdbg\",\"request\":\"launch\",\"program\":\"/home/borjamf/workspace/whatever/build/sim/whatever/sim/dispapp.bin\",\"stopAtEntry\":false,\"externalConsole\":true,\"logging\":{\"engineLogging\":true,\"traceResponse\":true,\"trace\":true},\"postDebugTask\":\"postDebugLaunch - Stop Simulators\",\"targetArchitecture\":\"x64\",\"cwd\":\"/home/borjamf/workspace/whatever\",\"preLaunchTask\":\"myPrelaunchtask\",\"miDebuggerServerAddress\":\"localhost:1234\",\"miDebuggerPath\":\"/home/borjamf/workspace/whatever/gdb-16.2\",\"environment\":[{\"name\":\"LD_LIBRARY_PATH\",\"value\":\"/opt/lib:/opt/forced_lib\"}],\"MIMode\":\"gdb\",\"setupCommands\":[{\"description\":\"Enable pretty-printing for gdb\",\"text\":\"-enable-pretty-printing\",\"ignoreFailures\":false},{\"description\":\"ignore SIGUSR1 signal\",\"text\":\"-gdb-set auto-load safe-path /\",\"ignoreFailures\":false},{\"description\":\"\",\"text\":\"add-auto-load-safe-path /home/borjamf/workspace/whatever/.gdbinit\",\"ignoreFailures\":false},{\"description\":\"ignore SIGUSR1 signal\",\"text\":\"source /home/borjamf/workspace/whatever/.gdbinit\",\"ignoreFailures\":false},{\"description\":\"set sysroot\",\"text\":\"-gdb-set sysroot mySysroots\",\"ignoreFailures\":false}],\"__configurationTarget\":6,\"configSource\":\"workspaceFolder\",\"debugType\":\"debug\",\"__sessionId\":\"a9d06deb-a89f-4dea-812c-87b5b9478795\"}\n"},"seq":2}
1: (126) LaunchOptions{"name":"Launch Debug GDBServer","type":"cppdbg","request":"launch","program":"/home/borjamf/workspace/whatever/build/sim/whatever/sim/dispapp.bin","stopAtEntry":false,"externalConsole":true,"logging":{"engineLogging":true,"traceResponse":true,"trace":true},"postDebugTask":"postDebugLaunch - Stop Simulators","targetArchitecture":"x64","cwd":"/home/borjamf/workspace/whatever","preLaunchTask":"myPrelaunchtask","miDebuggerServerAddress":"localhost:1234","miDebuggerPath":"/home/borjamf/workspace/whatever/gdb-16.2","environment":[{"name":"LD_LIBRARY_PATH","value":"/opt/lib:/opt/forced_lib"}],"MIMode":"gdb","setupCommands":[{"description":"Enable pretty-printing for gdb","text":"-enable-pretty-printing","ignoreFailures":false},{"description":"ignore SIGUSR1 signal","text":"-gdb-set auto-load safe-path /","ignoreFailures":false},{"description":"","text":"add-auto-load-safe-path /home/borjamf/workspace/whatever/.gdbinit","ignoreFailures":false},{"description":"ignore SIGUSR1 signal","text":"source /home/borjamf/workspace/whatever/.gdbinit","ignoreFailures":false},{"description":"set sysroot","text":"-gdb-set sysroot mySysroots","ignoreFailures":false}],"__configurationTarget":6,"configSource":"workspaceFolder","debugType":"debug","__sessionId":"a9d06deb-a89f-4dea-812c-87b5b9478795"}
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (182) Starting: \"/home/borjamf/workspace/whatever/gdb-16.2\" --interpreter=mi -x \"/home/borjamf/workspace/whatever/.gdbinit\"\n"},"seq":4}
1: (182) Starting: "/home/borjamf/workspace/whatever/gdb-16.2" --interpreter=mi -x "/home/borjamf/workspace/whatever/.gdbinit"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (262) DebuggerPid=32593\n"},"seq":6}
1: (262) DebuggerPid=32593
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (427) ->=thread-group-added,id=\"i1\"\n"},"seq":8}
1: (427) ->=thread-group-added,id="i1"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (432) ->~\"GNU gdb (GDB) 16.2\\n\"\n"},"seq":10}
1: (432) ->~"GNU gdb (GDB) 16.2\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (435) ->~\"Copyright (C) 2024 Free Software Foundation, Inc.\\n\"\n"},"seq":12}
1: (435) ->~"Copyright (C) 2024 Free Software Foundation, Inc.\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (435) ->~\"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\\nThis is free software: you are free to change and redistribute it.\\nThere is NO WARRANTY, to the extent permitted by law.\"\n"},"seq":14}
1: (435) ->~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law."
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (435) ->~\"\\nType \\\"\"\n"},"seq":16}
1: (435) ->~"\nType \""
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (436) ->~\"show copying\\\" and \\\"show warranty\\\" for details.\\n\"\n"},"seq":18}
1: (436) ->~"show copying\" and \"show warranty\" for details.\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (436) ->~\"This GDB was configured as \\\"x86_64-linux-gnu\\\".\\n\"\n"},"seq":20}
1: (436) ->~"This GDB was configured as \"x86_64-linux-gnu\".\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (436) ->~\"Type \\\"show configuration\\\" for configuration details.\\n\"\n"},"seq":22}
1: (436) ->~"Type \"show configuration\" for configuration details.\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (436) ->~\"For bug reporting instructions, please see:\\n\"\n"},"seq":24}
1: (436) ->~"For bug reporting instructions, please see:\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (437) ->~\"<https://www.gnu.org/software/gdb/bugs/>.\\n\"\n"},"seq":26}
1: (437) ->~"<https://www.gnu.org/software/gdb/bugs/>.\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (438) ->~\"Find the GDB manual and other documentation resources online at:\\n <\"\n"},"seq":28}
1: (438) ->~"Find the GDB manual and other documentation resources online at:\n <"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (438) ->~\"http://www.gnu.org/software/gdb/documentation/>.\\n\\n\"\n"},"seq":30}
1: (438) ->~"http://www.gnu.org/software/gdb/documentation/>.\n\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (438) ->~\"For help, type \\\"help\\\".\\n\"\n"},"seq":32}
1: (438) ->~"For help, type \"help\".\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (439) ->~\"Type \\\"apropos word\\\" to search for commands related to \\\"word\\\".\\n\"\n"},"seq":34}
1: (439) ->~"Type \"apropos word\" to search for commands related to \"word\".\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (440) ->&\"warning: File \\\"/home/borjamf/workspace/whatever/.gdbinit\\\" auto-loading has been declined by your `auto-load safe-path' set to \\\"$debugdir:$datadir/auto-load\\\".\\n\"\n"},"seq":36}
1: (440) ->&"warning: File \"/home/borjamf/workspace/whatever/.gdbinit\" auto-loading has been declined by your `auto-load safe-path' set to \"$debugdir:$datadir/auto-load\".\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (440) ->~\"To enable execution of this file add\\n\\t\"\n"},"seq":38}
1: (440) ->~"To enable execution of this file add\n\t"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (440) ->~\"add-auto-load-safe-path /home/borjamf/workspace/whatever/.gdbinit\\nline to your configuration file \\\"\"\n"},"seq":40}
1: (440) ->~"add-auto-load-safe-path /home/borjamf/workspace/whatever/.gdbinit\nline to your configuration file \""
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (440) ->~\"/home/borjamf/.config/gdb/gdbinit\\\".\\nTo completely disable this security protection add\\n\\t\"\n"},"seq":42}
1: (440) ->~"/home/borjamf/.config/gdb/gdbinit\".\nTo completely disable this security protection add\n\t"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (440) ->~\"set auto-load safe-path /\\nline to your configuration file \\\"\"\n"},"seq":44}
1: (440) ->~"set auto-load safe-path /\nline to your configuration file \""
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (441) ->~\"/home/borjamf/.config/gdb/gdbinit\\\".\\nFor more information about this security protection see the\\n\\\"Auto-loading safe path\\\" section in the GDB manual. E.g., run from the shell:\\n\\tinfo \\\"(gdb)Auto-loading safe path\\\"\\n\"\n"},"seq":46}
1: (441) ->~"/home/borjamf/.config/gdb/gdbinit\".\nFor more information about this security protection see the\n\"Auto-loading safe path\" section in the GDB manual. E.g., run from the shell:\n\tinfo \"(gdb)Auto-loading safe path\"\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (441) ->=cmd-param-changed,param=\"auto-load safe-path\",value=\"/\"\n"},"seq":48}
1: (441) ->=cmd-param-changed,param="auto-load safe-path",value="/"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (441) ->=cmd-param-changed,param=\"solib-search-path\",value=\"/home/borjamf/workspace/whatever/build/sim/whatever/system/opt/lib:/home/borjamf/workspace/whatever/build/sim/whatever/system/whatever/opt/forced_lib\"\n"},"seq":50}
1: (441) ->=cmd-param-changed,param="solib-search-path",value="/home/borjamf/workspace/whatever/build/sim/whatever/system/whatever/opt/lib:/home/borjamf/workspace/whatever/build/sim/whatever/system/whatever/opt/forced_lib"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (441) ->=cmd-param-changed,param=\"print pretty\",value=\"on\"\n"},"seq":52}
1: (441) ->=cmd-param-changed,param="print pretty",value="on"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (442) ->=cmd-param-changed,param=\"print object\",value=\"on\"\n"},"seq":54}
1: (442) ->=cmd-param-changed,param="print object",value="on"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (442) ->=cmd-param-changed,param=\"index-cache enabled\",value=\"on\"\n"},"seq":56}
1: (442) ->=cmd-param-changed,param="index-cache enabled",value="on"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (442) ->=cmd-param-changed,param=\"auto-solib-add\",value=\"off\"\n"},"seq":58}
1: (442) ->=cmd-param-changed,param="auto-solib-add",value="off"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (443) ->(gdb)\n"},"seq":60}
1: (443) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (446) <-1001-gdb-set mi-async on\n"},"seq":62}
1: (446) <-1001-gdb-set mi-async on
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (448) ->1001^done\n"},"seq":64}
1: (448) ->1001^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (450) 1001: elapsed time 4\n"},"seq":66}
1: (450) 1001: elapsed time 4
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (458) <-1002-enable-pretty-printing\n"},"seq":68}
1: (458) <-1002-enable-pretty-printing
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (458) ->(gdb)\n"},"seq":70}
1: (458) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (459) ->1002^done\n"},"seq":72}
1: (459) ->1002^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (459) ->(gdb)\n"},"seq":74}
1: (459) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (459) 1002: elapsed time 1\n"},"seq":76}
1: (459) 1002: elapsed time 1
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (459) <-1003-gdb-set auto-load safe-path /\n"},"seq":78}
1: (459) <-1003-gdb-set auto-load safe-path /
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (460) ->1003^done\n"},"seq":80}
1: (460) ->1003^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (460) ->(gdb)\n"},"seq":82}
1: (460) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (461) 1003: elapsed time 1\n"},"seq":84}
1: (461) 1003: elapsed time 1
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (462) <-1004-interpreter-exec console \"add-auto-load-safe-path /home/borjamf/workspace/whatever/.gdbinit\"\n"},"seq":86}
1: (462) <-1004-interpreter-exec console "add-auto-load-safe-path /home/borjamf/workspace/whatever/.gdbinit"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (462) ->1004^done\n"},"seq":88}
1: (462) ->1004^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (463) ->(gdb)\n"},"seq":90}
1: (463) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (463) 1004: elapsed time 0\n"},"seq":92}
1: (463) 1004: elapsed time 0
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (464) <-1005-interpreter-exec console \"source /home/borjamf/workspace/whatever/.gdbinit\"\n"},"seq":94}
1: (464) <-1005-interpreter-exec console "source /home/borjamf/workspace/whatever/.gdbinit"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (464) ->=cmd-param-changed,param=\"auto-load safe-path\",value=\"/\"\n"},"seq":96}
1: (464) ->=cmd-param-changed,param="auto-load safe-path",value="/"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (465) ->1005^done\n"},"seq":98}
1: (465) ->1005^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (465) ->(gdb)\n"},"seq":100}
1: (465) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (465) 1005: elapsed time 1\n"},"seq":102}
1: (465) 1005: elapsed time 1
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (465) <-1006-gdb-set sysroot mySysroots\n"},"seq":104}
1: (465) <-1006-gdb-set sysroot mySysroots
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (465) ->1006^done\n"},"seq":106}
1: (465) ->1006^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (465) ->(gdb)\n"},"seq":108}
1: (465) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (466) 1006: elapsed time 0\n"},"seq":110}
1: (466) 1006: elapsed time 0
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (466) <-1007-interpreter-exec console \"set pagination off\"\n"},"seq":112}
1: (466) <-1007-interpreter-exec console "set pagination off"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (466) ->=cmd-param-changed,param=\"pagination\",value=\"off\"\n"},"seq":114}
1: (466) ->=cmd-param-changed,param="pagination",value="off"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (466) ->1007^done\n"},"seq":116}
1: (466) ->1007^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (466) ->(gdb)\n"},"seq":118}
1: (466) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (467) 1007: elapsed time 0\n"},"seq":120}
1: (467) 1007: elapsed time 0
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (467) <-1008-gdb-set auto-solib-add on\n"},"seq":122}
1: (467) <-1008-gdb-set auto-solib-add on
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (467) ->1008^done\n"},"seq":124}
1: (467) ->1008^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (467) ->(gdb)\n"},"seq":126}
1: (467) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (467) 1008: elapsed time 0\n"},"seq":128}
1: (467) 1008: elapsed time 0
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (468) <-1009-gdb-set solib-search-path /home/borjamf/workspace/whatever/build/sim/whatever/sim/:\n"},"seq":130}
*1: (468) <-1009-gdb-set solib-search-path /home/borjamf/workspace/whatever/build/sim/whatever/sim/:*
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (468) ->1009^done\n"},"seq":132}
1: (468) ->1009^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (468) ->(gdb)\n"},"seq":134}
1: (468) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (468) 1009: elapsed time 0\n"},"seq":136}
1: (468) 1009: elapsed time 0
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (468) <-1010-environment-cd /home/borjamf/workspace/whatever\n"},"seq":138}
1: (468) <-1010-environment-cd /home/borjamf/workspace/whatever
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (469) ->1010^done\n"},"seq":140}
1: (469) ->1010^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (469) ->(gdb)\n"},"seq":142}
1: (469) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (469) 1010: elapsed time 0\n"},"seq":144}
1: (469) 1010: elapsed time 0
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (469) <-1011-file-exec-and-symbols /home/borjamf/workspace/whatever/build/sim/whatever/sim/whateverapp.bin\n"},"seq":146}
1: (469) <-1011-file-exec-and-symbols /home/borjamf/workspace/whatever/build/sim/whatever/sim/whateverapp.bin
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (19841) ->1011^done\n"},"seq":148}
1: (19841) ->1011^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (19842) ->(gdb)\n"},"seq":150}
1: (19842) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (19842) 1011: elapsed time 19372\n"},"seq":152}
1: (19842) 1011: elapsed time 19372
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (19843) <-1012-interpreter-exec console \"show architecture\"\n"},"seq":154}
1: (19843) <-1012-interpreter-exec console "show architecture"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (19847) ->~\"The target architecture is set to \\\"auto\\\" (currently \\\"i386\\\").\\n\"\n"},"seq":156}
1: (19847) ->~"The target architecture is set to \"auto\" (currently \"i386\").\n"
linux.so.2",arch="i386"},state="stopped",core="11"}]
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (25767) ->(gdb)\n"},"seq":194}
1: (25767) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (25767) 1014: elapsed time 320\n"},"seq":196}
1: (25767) 1014: elapsed time 320
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (25767) 1015: elapsed time 178\n"},"seq":198}
1: (25767) 1015: elapsed time 178
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (25768) <-1016-interpreter-exec console \"set env LD_LIBRARY_PATH /opt/lib:/opt/forced_lib\"\n"},"seq":200}
1: (25768) <-1016-interpreter-exec console "set env LD_LIBRARY_PATH /opt/lib:/opt/forced_lib"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (25769) ->1016^done\n"},"seq":202}
1: (25769) ->1016^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (25770) ->(gdb)\n"},"seq":204}
1: (25770) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (25779) 1016: elapsed time 11\n"},"seq":206}
1: (25779) 1016: elapsed time 11
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (25785) Send Event AD7EngineCreateEvent\n"},"seq":208}
1: (25785) Send Event AD7EngineCreateEvent
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (25788) Send Event AD7ProgramCreateEvent\n"},"seq":210}
1: (25788) Send Event AD7ProgramCreateEvent
--> E (output): {"type":"event","event":"output","body":{"category":"telemetry","output":"VS/Diagnostics/Debugger/Launch","data":{"VS.Diagnostics.Debugger.ImplementationName":"Microsoft.MIDebugEngine","VS.Diagnostics.Debugger.EngineVersion":"17.12.21003.1","VS.Diagnostics.Debugger.HostVersion":"17.12.21003.1","VS.Diagnostics.Debugger.AdapterId":"cppdbg","VS.Diagnostics.Debugger.Launch.Duration":25678,"VS.Diagnostics.Debugger.MIMode":"gdb","VS.Diagnostics.Debugger.FrameworkVersion":"8.0.824.36612"}},"seq":212}
-exec show solib-search-path
The search path for loading non-absolute shared library symbol files is /home/borjamf/workspace/whatever/build/whatever:.
Other Extensions
No response
Additional Information
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the cppdbg launch configuration, the generated GDB invocation, and the workspace .gdbinit shown in the logs. Reproduce the Docker gdbserver session and trace setupCommands ordering and auto-load safe-path handling; done means auto-solib-add is off after launch and the .gdbinit settings are applied.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, docker, vscode
- Domain
- devtools, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100