microsoft / microsoft/vscode-cpptools

Failing to run with Fish shell

Offen
#12,484 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

bug debugger help wanted
Vorherrschende Sprache
TypeScript
Sterne
6.2k
Forks
1.7k
Ø Merge
14 Std. 46 Min.
Gemergte PRs (30 T.)
61

Beschreibung

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:

  1. 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.

  1. 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

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Reproduziere das Problem mit dem bereitgestellten C++-hello-world-Programm, launch.json, der Fish-Shell und GDB 14.2 und vergleiche es anschließend damit, VS Code mit SHELL=$(which bash) zu starten. Verwende die Debugger-Protokolle, insbesondere den generierten Shell-Befehl und die runInTerminal-Anfrage, um die Inkompatibilität mit Fish zu identifizieren. Als erledigt gilt die Aufgabe, wenn dieselbe Debugging-Sitzung unter Fish startet und den Breakpoint erreicht.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp, fish, typescript
Bereich
devtools
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.