microsoft / microsoft/vscode-cpptools
Failing to run with Fish shell
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: NixOS
- VS Code: 1.91.0
- C/C++ extension: 1.20.5
- OS and version of remote machine (if applicable):
- GDB / LLDB version: 14.2 (gdb)
- Shell: Fish
Bug Summary and Steps to Reproduce
Bug Summary:
Write a minimal hello world
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
A minimal launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) A",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/a.out",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
},
]
}
Steps to reproduce:
- In this environment when I run the debug window nothing happens and the debug toolbar is there but no breakpoint is hit or the process is not run.
When I run with my FISH shell i see the above problem.
- I instead do:
SHELL=$(which bash)
code .
And now I can debug.
There must be some scripts that are being executed that assume it is on a bash/zsh compatible shell.
Visual Studio code should be explicit about running it on the shell program it wants.
Debugger Configurations
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) A",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/a.out",
"args": [],
"stopAtEntry": true,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"logging": {
"trace": true,
"traceResponse": true,
"engineLogging": true
},
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": false
},
{
"description": "Set Disassembly Flavor to Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": false
}
],
"miDebuggerPath": "/run/current-system/sw/bin/gdb",
},
]
}
### Debugger Logs
```shell
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (62) LaunchOptions{\"name\":\"(gdb) A\",\"type\":\"cppdbg\",\"request\":\"launch\",\"program\":\"/home/fmzakari/code/experiments/nix/hello-world/a.out\",\"args\":[],\"stopAtEntry\":true,\"cwd\":\"/home/fmzakari/code/experiments/nix/hello-world\",\"environment\":[],\"externalConsole\":false,\"MIMode\":\"gdb\",\"logging\":{\"trace\":true,\"traceResponse\":true,\"engineLogging\":true},\"setupCommands\":[{\"description\":\"Enable pretty-printing for gdb\",\"text\":\"-enable-pretty-printing\",\"ignoreFailures\":false},{\"description\":\"Set Disassembly Flavor to Intel\",\"text\":\"-gdb-set disassembly-flavor intel\",\"ignoreFailures\":false}],\"miDebuggerPath\":\"/run/current-system/sw/bin/gdb\",\"__configurationTarget\":6,\"__sessionId\":\"dc7f765a-6482-4230-a3af-61bff9fb450c\"}\n"},"seq":2}
1: (62) LaunchOptions{"name":"(gdb) A","type":"cppdbg","request":"launch","program":"/home/fmzakari/code/experiments/nix/hello-world/a.out","args":[],"stopAtEntry":true,"cwd":"/home/fmzakari/code/experiments/nix/hello-world","environment":[],"externalConsole":false,"MIMode":"gdb","logging":{"trace":true,"traceResponse":true,"engineLogging":true},"setupCommands":[{"description":"Enable pretty-printing for gdb","text":"-enable-pretty-printing","ignoreFailures":false},{"description":"Set Disassembly Flavor to Intel","text":"-gdb-set disassembly-flavor intel","ignoreFailures":false}],"miDebuggerPath":"/run/current-system/sw/bin/gdb","__configurationTarget":6,"__sessionId":"dc7f765a-6482-4230-a3af-61bff9fb450c"}
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (107) DbgCmd:echo $$ > /tmp/Microsoft-MIEngine-Pid-4zjrcxqv.y1a ; cd \"/home/fmzakari/code/experiments/nix/hello-world\" ; DbgTerm=`tty` ; set -o monitor ; trap 'rm \"/tmp/Microsoft-MIEngine-In-uelqjl1k.u2h\" \"/tmp/Microsoft-MIEngine-Out-x3cnp2r3.0kc\" \"/tmp/Microsoft-MIEngine-Pid-4zjrcxqv.y1a\" \"/tmp/Microsoft-MIEngine-Cmd-l42jm40x.3ih\"' EXIT ; \"/run/current-system/sw/bin/gdb\" --interpreter=mi --tty=$DbgTerm < \"/tmp/Microsoft-MIEngine-In-uelqjl1k.u2h\" > \"/tmp/Microsoft-MIEngine-Out-x3cnp2r3.0kc\" & clear; pid=$! ; echo $pid > \"/tmp/Microsoft-MIEngine-Pid-4zjrcxqv.y1a\" ; wait $pid; \n"},"seq":4}
1: (107) DbgCmd:echo $$ > /tmp/Microsoft-MIEngine-Pid-4zjrcxqv.y1a ; cd "/home/fmzakari/code/experiments/nix/hello-world" ; DbgTerm=`tty` ; set -o monitor ; trap 'rm "/tmp/Microsoft-MIEngine-In-uelqjl1k.u2h" "/tmp/Microsoft-MIEngine-Out-x3cnp2r3.0kc" "/tmp/Microsoft-MIEngine-Pid-4zjrcxqv.y1a" "/tmp/Microsoft-MIEngine-Cmd-l42jm40x.3ih"' EXIT ; "/run/current-system/sw/bin/gdb" --interpreter=mi --tty=$DbgTerm < "/tmp/Microsoft-MIEngine-In-uelqjl1k.u2h" > "/tmp/Microsoft-MIEngine-Out-x3cnp2r3.0kc" & clear; pid=$! ; echo $pid > "/tmp/Microsoft-MIEngine-Pid-4zjrcxqv.y1a" ; wait $pid;
--> C (runInTerminal-6): {"type":"request","command":"runInTerminal","arguments":{"kind":"integrated","title":"cppdbg: a.out","cwd":"","args":["/bin/sh","/tmp/Microsoft-MIEngine-Cmd-l42jm40x.3ih"],"env":{}},"seq":6}
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (116) Wait for connection completion.\n"},"seq":8}
1: (116) Wait for connection completion.
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2075) ->=thread-group-added,id=\"i1\"\n"},"seq":10}
1: (2075) ->=thread-group-added,id="i1"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2077) ->~\"GNU gdb (GDB) 14.2\\n\"\n"},"seq":12}
1: (2077) ->~"GNU gdb (GDB) 14.2\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2077) ->~\"Copyright (C) 2023 Free Software Foundation, Inc.\\n\"\n"},"seq":14}
1: (2077) ->~"Copyright (C) 2023 Free Software Foundation, Inc.\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2077) ->~\"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":16}
1: (2077) ->~"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: (2077) ->~\"\\nType \\\"show copying\\\" and \\\"show warranty\\\" for details.\\n\"\n"},"seq":18}
1: (2077) ->~"\nType \"show copying\" and \"show warranty\" for details.\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2077) ->~\"This GDB was configured as \\\"x86_64-unknown-linux-gnu\\\".\\n\"\n"},"seq":20}
1: (2077) ->~"This GDB was configured as \"x86_64-unknown-linux-gnu\".\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2077) ->~\"Type \\\"show configuration\\\" for configuration details.\\n\"\n"},"seq":22}
1: (2077) ->~"Type \"show configuration\" for configuration details.\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2077) ->~\"For bug reporting instructions, please see:\\n\"\n"},"seq":24}
1: (2077) ->~"For bug reporting instructions, please see:\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2077) ->~\"<https://www.gnu.org/software/gdb/bugs/>.\\n\"\n"},"seq":26}
1: (2077) ->~"<https://www.gnu.org/software/gdb/bugs/>.\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2077) ->~\"Find the GDB manual and other documentation resources online at:\\n <\"\n"},"seq":28}
1: (2077) ->~"Find the GDB manual and other documentation resources online at:\n <"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2077) ->~\"http://www.gnu.org/software/gdb/documentation/>.\\n\\n\"\n"},"seq":30}
1: (2077) ->~"http://www.gnu.org/software/gdb/documentation/>.\n\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2077) ->~\"For help, type \\\"help\\\".\\n\"\n"},"seq":32}
1: (2077) ->~"For help, type \"help\".\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2077) ->~\"Type \\\"apropos word\\\" to search for commands related to \\\"word\\\".\\n\"\n"},"seq":34}
1: (2077) ->~"Type \"apropos word\" to search for commands related to \"word\".\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2077) ->(gdb)\n"},"seq":36}
1: (2077) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2082) <-1001-gdb-set mi-async on\n"},"seq":38}
1: (2082) <-1001-gdb-set mi-async on
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2083) ->1001^done\n"},"seq":40}
1: (2083) ->1001^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2083) ->(gdb)\n"},"seq":42}
1: (2083) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2085) 1001: elapsed time 4\n"},"seq":44}
1: (2085) 1001: elapsed time 4
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2094) <-1002-enable-pretty-printing\n"},"seq":46}
1: (2094) <-1002-enable-pretty-printing
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2095) ->1002^done\n"},"seq":48}
1: (2095) ->1002^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2095) ->(gdb)\n"},"seq":50}
1: (2095) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2095) 1002: elapsed time 1\n"},"seq":52}
1: (2095) 1002: elapsed time 1
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2096) <-1003-gdb-set disassembly-flavor intel\n"},"seq":54}
1: (2096) <-1003-gdb-set disassembly-flavor intel
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2097) ->1003^done\n"},"seq":56}
1: (2097) ->1003^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2097) ->(gdb)\n"},"seq":58}
1: (2097) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2097) 1003: elapsed time 1\n"},"seq":60}
1: (2097) 1003: elapsed time 1
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2097) <-1004-interpreter-exec console \"set pagination off\"\n"},"seq":62}
1: (2097) <-1004-interpreter-exec console "set pagination off"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2099) ->=cmd-param-changed,param=\"pagination\",value=\"off\"\n"},"seq":64}
1: (2099) ->=cmd-param-changed,param="pagination",value="off"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2099) ->1004^done\n"},"seq":66}
1: (2099) ->1004^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2099) ->(gdb)\n"},"seq":68}
1: (2099) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2099) 1004: elapsed time 1\n"},"seq":70}
1: (2099) 1004: elapsed time 1
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2099) <-1005-gdb-set auto-solib-add on\n"},"seq":72}
1: (2099) <-1005-gdb-set auto-solib-add on
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2100) ->1005^done\n"},"seq":74}
1: (2100) ->1005^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2100) ->(gdb)\n"},"seq":76}
1: (2100) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2100) 1005: elapsed time 1\n"},"seq":78}
1: (2100) 1005: elapsed time 1
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2101) <-1006-gdb-set solib-search-path /home/fmzakari/code/experiments/nix/hello-world:\n"},"seq":80}
1: (2101) <-1006-gdb-set solib-search-path /home/fmzakari/code/experiments/nix/hello-world:
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2103) ->1006^done\n"},"seq":82}
1: (2103) ->1006^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2103) ->(gdb)\n"},"seq":84}
1: (2103) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2103) 1006: elapsed time 2\n"},"seq":86}
1: (2103) 1006: elapsed time 2
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2104) <-1007-gdb-set stop-on-solib-events 1\n"},"seq":88}
1: (2104) <-1007-gdb-set stop-on-solib-events 1
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2105) ->1007^done\n"},"seq":90}
1: (2105) ->1007^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2106) ->(gdb)\n"},"seq":92}
1: (2106) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2106) 1007: elapsed time 1\n"},"seq":94}
1: (2106) 1007: elapsed time 1
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2106) <-1008-environment-cd /home/fmzakari/code/experiments/nix/hello-world\n"},"seq":96}
1: (2106) <-1008-environment-cd /home/fmzakari/code/experiments/nix/hello-world
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2108) ->1008^done\n"},"seq":98}
1: (2108) ->1008^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2108) ->(gdb)\n"},"seq":100}
1: (2108) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2108) 1008: elapsed time 2\n"},"seq":102}
1: (2108) 1008: elapsed time 2
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2108) <-1009-file-exec-and-symbols /home/fmzakari/code/experiments/nix/hello-world/a.out\n"},"seq":104}
1: (2108) <-1009-file-exec-and-symbols /home/fmzakari/code/experiments/nix/hello-world/a.out
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2113) ->1009^done\n"},"seq":106}
1: (2113) ->1009^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2113) ->(gdb)\n"},"seq":108}
1: (2113) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2114) 1009: elapsed time 5\n"},"seq":110}
1: (2114) 1009: elapsed time 5
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2116) <-1010-interpreter-exec console \"show architecture\"\n"},"seq":112}
1: (2116) <-1010-interpreter-exec console "show architecture"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2117) ->~\"The target architecture is set to \\\"auto\\\" (currently \\\"i386:x86-64\\\").\\n\"\n"},"seq":114}
1: (2117) ->~"The target architecture is set to \"auto\" (currently \"i386:x86-64\").\n"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2118) ->1010^done\n"},"seq":116}
1: (2118) ->1010^done
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2118) ->(gdb)\n"},"seq":118}
1: (2118) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2118) 1010: elapsed time 2\n"},"seq":120}
1: (2118) 1010: elapsed time 2
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2119) <-1011-break-insert -f main\n"},"seq":122}
1: (2119) <-1011-break-insert -f main
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2121) ->1011^done,bkpt={number=\"1\",type=\"breakpoint\",disp=\"keep\",enabled=\"y\",addr=\"0x000000000040112a\",func=\"main\",file=\"hello_world.c\",fullname=\"/home/fmzakari/code/experiments/nix/hello-world/hello_world.c\",line=\"4\",thread-groups=[\"i1\"],times=\"0\",original-location=\"main\"}\n"},"seq":124}
1: (2121) ->1011^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x000000000040112a",func="main",file="hello_world.c",fullname="/home/fmzakari/code/experiments/nix/hello-world/hello_world.c",line="4",thread-groups=["i1"],times="0",original-location="main"}
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2122) ->(gdb)\n"},"seq":126}
1: (2122) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2126) 1011: elapsed time 6\n"},"seq":128}
1: (2126) 1011: elapsed time 6
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2132) Send Event AD7EngineCreateEvent\n"},"seq":130}
1: (2132) Send Event AD7EngineCreateEvent
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2134) Send Event AD7ProgramCreateEvent\n"},"seq":132}
1: (2134) 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.8.20302.1","VS.Diagnostics.Debugger.HostVersion":"17.8.20302.1","VS.Diagnostics.Debugger.AdapterId":"cppdbg","VS.Diagnostics.Debugger.Launch.Duration":2086,"VS.Diagnostics.Debugger.MIMode":"gdb","VS.Diagnostics.Debugger.FrameworkVersion":"6.0.2724.6912"}},"seq":134}
--> R (launch-2): {"type":"response","request_seq":2,"success":true,"command":"launch","body":{},"seq":136}
--> E (initialized): {"type":"event","event":"initialized","body":{},"seq":138}
<-- R (runInTerminal-6) [2032 ms]: {"type":"response","seq":3,"command":"runInTerminal","request_seq":6,"success":true,"body":{"shellProcessId":343682}}
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2162) ShellPid=343771\n"},"seq":141}
1: (2162) ShellPid=343771
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2163) DebuggerPid=343773\n"},"seq":143}
1: (2163) DebuggerPid=343773
<-- C (setFunctionBreakpoints-4): {"command":"setFunctionBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":4}
--> R (setFunctionBreakpoints-4): {"type":"response","request_seq":4,"success":true,"command":"setFunctionBreakpoints","body":{"breakpoints":[]},"seq":146}
<-- C (setInstructionBreakpoints-5): {"command":"setInstructionBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":5}
--> R (setInstructionBreakpoints-5): {"type":"response","request_seq":5,"success":true,"command":"setInstructionBreakpoints","body":{"breakpoints":[]},"seq":149}
<-- C (setExceptionBreakpoints-6): {"command":"setExceptionBreakpoints","arguments":{"filters":[],"filterOptions":[]},"type":"request","seq":6}
--> R (setExceptionBreakpoints-6): {"type":"response","request_seq":6,"success":true,"command":"setExceptionBreakpoints","body":{"breakpoints":[]},"seq":152}
<-- C (setDataBreakpoints-7): {"command":"setDataBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":7}
--> R (setDataBreakpoints-7): {"type":"response","request_seq":7,"success":true,"command":"setDataBreakpoints","body":{"breakpoints":[]},"seq":155}
<-- C (configurationDone-8): {"command":"configurationDone","type":"request","seq":8}
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2246) Send Event AD7LoadCompleteEvent\n"},"seq":159}
1: (2246) Send Event AD7LoadCompleteEvent
--> R (configurationDone-8): {"type":"response","request_seq":8,"success":true,"command":"configurationDone","body":{},"seq":158}
--> E (output): {"type":"event","event":"output","body":{"category":"stdout","output":"=thread-group-added,id=\"i1\"\nGNU gdb (GDB) 14.2\nCopyright (C) 2023 Free Software Foundation, Inc.\nLicense 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.\nType \"show copying\" and \"show warranty\" for details.\nThis GDB was configured as \"x86_64-unknown-linux-gnu\".\nType \"show configuration\" for configuration details.\nFor bug reporting instructions, please see:\n<https://www.gnu.org/software/gdb/bugs/>.\nFind the GDB manual and other documentation resources online at:\n <http://www.gnu.org/software/gdb/documentation/>.\n\nFor help, type \"help\".\nType \"apropos word\" to search for commands related to \"word\".\nWarning: Debuggee TargetArchitecture not detected, assuming x86_64.\n=cmd-param-changed,param=\"pagination\",value=\"off\"\n"},"seq":162}
=thread-group-added,id="i1"
GNU gdb (GDB) 14.2
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
Warning: Debuggee TargetArchitecture not detected, assuming x86_64.
=cmd-param-changed,param="pagination",value="off"
<-- C (threads-9): {"command":"threads","type":"request","seq":9}
--> R (threads-9): {"type":"response","request_seq":9,"success":true,"command":"threads","body":{"threads":[]},"seq":165}
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2257) <-1012-exec-run\n"},"seq":167}
1: (2257) <-1012-exec-run
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2259) ->=thread-group-started,id=\"i1\",pid=\"343807\"\n"},"seq":169}
1: (2259) ->=thread-group-started,id="i1",pid="343807"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2259) ->=thread-created,id=\"1\",group-id=\"i1\"\n"},"seq":171}
1: (2259) ->=thread-created,id="1",group-id="i1"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2259) ->=thread-exited,id=\"1\",group-id=\"i1\"\n"},"seq":173}
1: (2259) ->=thread-exited,id="1",group-id="i1"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2259) ->=thread-group-exited,id=\"i1\"\n"},"seq":175}
1: (2259) ->=thread-group-exited,id="i1"
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2260) ->1012^error,msg=\"During startup program exited with code 127.\"\n"},"seq":177}
1: (2260) ->1012^error,msg="During startup program exited with code 127."
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2260) ->(gdb)\n"},"seq":179}
1: (2260) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2262) <-1013-thread-info 1\n"},"seq":181}
1: (2262) <-1013-thread-info 1
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2262) ->1013^done,threads=[]\n"},"seq":183}
1: (2262) ->1013^done,threads=[]
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2262) ->(gdb)\n"},"seq":185}
1: (2262) ->(gdb)
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2264) 1012: elapsed time 7\n"},"seq":187}
1: (2264) 1012: elapsed time 7
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2266) 1013: elapsed time 4\n"},"seq":189}
1: (2266) 1013: elapsed time 4
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2267) Send Event AD7MessageEvent\n"},"seq":191}
1: (2267) Send Event AD7MessageEvent
--> E (output): {"type":"event","event":"output","body":{"category":"stderr","output":"ERROR: Unable to start debugging. Unexpected GDB output from command \"-exec-run\". During startup program exited with code 127.\n"},"seq":193}
ERROR: Unable to start debugging. Unexpected GDB output from command "-exec-run". During startup program exited with code 127.
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2269) <--gdb-exit\n"},"seq":195}
1: (2269) <--gdb-exit
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2270) ->^exit\n"},"seq":197}
1: (2270) ->^exit
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"1: (2274) Send Event AD7ProgramDestroyEvent\n"},"seq":199}
1: (2274) Send Event AD7ProgramDestroyEvent
--> E (output): {"type":"event","event":"output","body":{"category":"console","output":"The program '/home/fmzakari/code/experiments/nix/hello-world/a.out' has exited with code 0 (0x00000000).\r\n\n"},"seq":201}
The program '/home/fmzakari/code/experiments/nix/hello-world/a.out' has exited with code 0 (0x00000000).
--> E (exited): {"type":"event","event":"exited","body":{"exitCode":0},"seq":203}
--> E (terminated): {"type":"event","event":"terminated","body":{},"seq":205}
--> E (output): {"type":"event","event":"output","body":{"category":"telemetry","output":"VS/Diagnostics/Debugger/DebugCompleted","data":{"VS.Diagnostics.Debugger.ImplementationName":"Microsoft.MIDebugEngine","VS.Diagnostics.Debugger.EngineVersion":"17.8.20302.1","VS.Diagnostics.Debugger.HostVersion":"17.8.20302.1","VS.Diagnostics.Debugger.AdapterId":"cppdbg","VS.Diagnostics.Debugger.DebugCompleted.BreakCounter":0}},"seq":207}
<-- C (disconnect-10): {"command":"disconnect","arguments":{"restart":false},"type":"request","seq":10}
--> R (disconnect-10): {"type":"response","request_seq":10,"success":true,"command":"disconnect","body":{},"seq":210}
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
Riproduci il problema con il programma C++ hello-world fornito, launch.json, la shell Fish e GDB 14.2, quindi confrontalo con l'avvio di VS Code usando SHELL=$(which bash). Usa i log del debugger, in particolare il comando shell generato e la richiesta runInTerminal, per identificare l'incompatibilità con Fish. Il lavoro è completato quando la stessa sessione di debug si avvia e raggiunge il breakpoint con Fish.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp, fish, typescript
- Ambito
- devtools
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100