microsoft / microsoft/vscode-cpptools
Launch mode with gdbserver running ignores auto-solib-add
Nessuno ha ancora preso questa issue.
- Lingua principale
- TypeScript
- Stelle
- 6.2k
- Fork
- 1.7k
- Merge medio
- 14h 46m
- PR unite (30g)
- 61
Descrizione
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
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con la configurazione di avvio cppdbg, l’invocazione GDB generata e il .gdbinit dell’area di lavoro mostrato nei log. Riproduci la sessione Docker gdbserver e traccia l’ordine di setupCommands e la gestione di auto-load safe-path; il lavoro è completato quando auto-solib-add è disattivato dopo l’avvio e vengono applicate le impostazioni di .gdbinit.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp, docker, vscode
- Ambito
- devtools, tooling
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100