Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Macos: cppdbg ignores launch.json cwd #8052

Closed
newdigate opened this issue Aug 25, 2021 · 6 comments
Closed

Macos: cppdbg ignores launch.json cwd #8052

newdigate opened this issue Aug 25, 2021 · 6 comments

Comments

@newdigate
Copy link

Bug type: Debugger

Describe the bug

  • OS and Version: Macos 11.5.2
  • VS Code Version: 1.59.1 (Universal)
  • C/C++ Extension Version: v1.6.0

When debugging the application on macos using vscode's C/C++ for Visual Studio Code extension, I would expect the executable to be launched from the ${workspace} folder, as I have specified cwd in launch.json. However, the executable is launched from the build folder, where the executable is located.

To Reproduce
please see newdigate/vscode-cpptools-macos-cppdbg-cwd-issue. This should help you to easily reproduce the issue.

Steps to reproduce the behavior:

  • using vscode on macos, create a new c++ application, it shall just call system("echo ${PWD}");
  • create a launch.json in .vscode:
  • create a build folder where the executable will reside
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "preLaunchTask": "build",
            "type": "cppdbg",
            "request": "launch",
            "args": [],
            "stopAtEntry": true,
            "cwd": "${workspaceRoot}",
            "environment": [],
            "externalConsole": true,
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "logging": {
                "engineLogging": false,
                "trace": false
            },
            "osx": {
                "program": "${workspaceRoot}/build/fib.out",
                "MIMode": "lldb"
            }
        }
    ]
}
@WardenGnaw
Copy link
Member

Can you enable logging and share the output from the Debug Console?
You can do this by enabling these fields:

"logging": {
                "engineLogging": true,
                "trace": true
            },

In the debug adapter, we send -environment-cd with cwd and from the documentation.

Each time you start your program with run, the inferior will be initialized with the current working directory specified by the set cwd command. If no directory has been specified by this command, then the inferior will inherit GDB’s current working directory as its working directory if native debugging, or it will inherit the remote server’s current working directory if remote debugging

You can also run -exec "show cwd" in the Debug Console to see what GDB think's the inferior's current working directory is.

@WardenGnaw WardenGnaw added debugger more info needed The issue report is not actionable in its current state labels Aug 26, 2021
@newdigate
Copy link
Author

Hi Andrew, many thanks for your quick response, really appreciate your assistance...

Here is the output when I enable logging and trace:

1: (129) LaunchOptions{"name":"(gdb) Launch","preLaunchTask":"build","type":"cppdbg","request":"launch","args":[],"stopAtEntry":true,"cwd":"/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib","environment":[],"externalConsole":true,"setupCommands":[{"description":"Enable pretty-printing for gdb","text":"-enable-pretty-printing","ignoreFailures":true}],"logging":{"engineLogging":true,"trace":true},"__configurationTarget":5,"program":"/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out","MIMode":"lldb","__sessionId":"f16c6b67-f49f-4979-8e33-347deae89f3f","miDebuggerPath":"/Users/nicholasnewdigate/.vscode/extensions/ms-vscode.cpptools-1.6.0/debugAdapters/lldb-mi/bin/lldb-mi"}
1: (196) DbgCmd:echo $$ > /var/folders/1t/5y998vq95310bh0926syp5r40000gn/T/Microsoft-MIEngine-Pid-tdmu2tud.1pk ; cd "/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build" ; DbgTerm=`tty` ; set -o monitor ; trap 'rm "/var/folders/1t/5y998vq95310bh0926syp5r40000gn/T/Microsoft-MIEngine-In-uqtunf0y.3kh" "/var/folders/1t/5y998vq95310bh0926syp5r40000gn/T/Microsoft-MIEngine-Out-xlxt2235.dnz" "/var/folders/1t/5y998vq95310bh0926syp5r40000gn/T/Microsoft-MIEngine-Pid-tdmu2tud.1pk" "/var/folders/1t/5y998vq95310bh0926syp5r40000gn/T/Microsoft-MIEngine-Cmd-jkll4ils.0mz"' EXIT ; "/Users/nicholasnewdigate/.vscode/extensions/ms-vscode.cpptools-1.6.0/debugAdapters/lldb-mi/bin/lldb-mi" --interpreter=mi --tty=$DbgTerm < "/var/folders/1t/5y998vq95310bh0926syp5r40000gn/T/Microsoft-MIEngine-In-uqtunf0y.3kh" > "/var/folders/1t/5y998vq95310bh0926syp5r40000gn/T/Microsoft-MIEngine-Out-xlxt2235.dnz" & clear; pid=$! ; echo $pid > "/var/folders/1t/5y998vq95310bh0926syp5r40000gn/T/Microsoft-MIEngine-Pid-tdmu2tud.1pk" ; wait $pid; 
1: (213) Wait for connection completion.
1: (1013) ->(gdb)
1: (1035) <-1001-enable-pretty-printing
1: (1036) ->1001^done,supported="0"
1: (1036) ->(gdb)
1: (1044) 1001: elapsed time 11
1: (1046) <-1002-gdb-set auto-solib-add on
1: (1047) ->1002^done
1: (1047) 1002: elapsed time 0
1: (1047) ->(gdb)
1: (1047) <-1003-gdb-set solib-search-path "/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build:"
1: (1048) ->1003^done
1: (1048) 1003: elapsed time 0
1: (1048) <-1004-environment-cd "/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib"
1: (1048) ->(gdb)
1: (1049) ->1004^done,path="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib"
1: (1049) ->(gdb)
1: (1049) 1004: elapsed time 0
1: (1050) <-1005-file-exec-and-symbols "/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out"
1: (1674) ->1005^done
1: (1674) 1005: elapsed time 624
1: (1674) ->(gdb)
1: (1676) ->=library-loaded,id="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out",target-name="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out",host-name="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out",symbols-loaded="1",symbols-path="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out.dSYM/Contents/Resources/DWARF/fib.out",loaded_addr="-",size="16384"
1: (1677) <-1006-interpreter-exec console "platform status"
1: (1678) ->~"  Platform: host\n    Triple: x86_64h-apple-macosx\nOS Version: 10.16 (20G95)\n  Hostname: 127.0.0.1\nWorkingDir: /Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build\n    Kernel: Darwin Kernel Version 20.6.0: Wed Jun 23 00:26:31 PDT 2021; root:xnu-7195.141.2~5/RELEASE_X86_64\n"
1: (1678) ->1006^done
1: (1679) ->(gdb)
1: (1680) 1006: elapsed time 2
1: (1682) <-1007-break-insert -f main
1: (1683) ->1007^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000100003f66",func="main",file="main.cpp",fullname="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/main.cpp",line="5",pending=["main"],times="0",original-location="main"}
1: (1684) ->(gdb)
1: (1684) ->=breakpoint-modified,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000100003f66",func="main",file="main.cpp",fullname="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/main.cpp",line="5",pending=["main"],times="0",original-location="main"}
1: (1684) ->(gdb)
1: (1686) 1007: elapsed time 4
1: (1693) Send Event AD7EngineCreateEvent
1: (1697) Send Event AD7ProgramCreateEvent
<--   R (runInTerminal-4) [1518 ms]: {"type":"response","seq":3,"command":"runInTerminal","request_seq":4,"success":true,"body":{}}
1: (1733) ShellPid=24598
1: (1734) DebuggerPid=24600
<--   C (setFunctionBreakpoints-4): {"command":"setFunctionBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":4}
  C (setInstructionBreakpoints-5): {"command":"setInstructionBreakpoints","arguments":{"breakpoints":[]},"type":"request","seq":5}
<--   C (configurationDone-6): {"command":"configurationDone","type":"request","seq":6}
1: (1889) Send Event AD7LoadCompleteEvent
Warning: Debuggee TargetArchitecture not detected, assuming x86_64.
1: (1893) <-1008-exec-run
<--   C (threads-7): {"command":"threads","type":"request","seq":7}
1: (2440) ->1008^running
1: (2440) ->=thread-group-started,id="i1",pid="24605"
1: (2440) 1008: elapsed time 547
1: (2441) ->(gdb)
1: (2441) ->=thread-created,id="1",group-id="i1"
1: (2441) ->=thread-selected,id="1"
1: (2441) ->(gdb)
1: (2441) ->=library-unloaded,id="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out",target-name="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out",host-name="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out"
1: (2441) ->=breakpoint-modified,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000100003f66",func="main",file="main.cpp",fullname="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/main.cpp",line="5",pending=["main"],times="0",original-location="main"}
1: (2441) ->(gdb)
1: (2441) ->(gdb)
1: (2441) ->=library-loaded,id="/usr/lib/dyld",target-name="/usr/lib/dyld",host-name="/usr/lib/dyld",symbols-loaded="0",loaded_addr="0x0000000100010000",size="638976"
1: (2441) ->=library-loaded,id="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out",target-name="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out",host-name="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out",symbols-loaded="1",symbols-path="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out.dSYM/Contents/Resources/DWARF/fib.out",loaded_addr="0x0000000100000000",size="16384"
1: (2441) ->*running,thread-id="all"
1: (2441) ->(gdb)
1: (2447) <-1009-thread-info 1
=thread-selected,id="1"
=library-unloaded,id="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out",target-name="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out",host-name="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out"
1: (2452) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/dyld'. Symbols loaded.
1: (2463) ->1009^done,threads=[{id="1",target-id="Thread 1",frame={level="0",addr="0x0000000100024871",func="_dyld_debugger_notification",args=[],file="??",fullname="??",line="-1"},frame={level="1",addr="0x00000001000239fb",func="gdb_image_notifier(dyld_image_mode, unsigned int, dyld_image_info const*)",args=[],file="??",fullname="??",line="-1"},frame={level="2",addr="0x00000001000236ef",func="notifyGDB(dyld_image_states, unsigned int, dyld_image_info const*)",args=[],file="??",fullname="??",line="-1"},frame={level="3",addr="0x0000000100015f4b",func="dyld::notifyBatchPartial(dyld_image_states, bool, char const* (*)(dyld_image_states, unsigned int, dyld_image_info const*), bool, bool)",args=[],file="??",fullname="??",line="-1"},frame={level="4",addr="0x00000001000258e9",func="ImageLoader::link(ImageLoader::LinkContext const&, bool, bool, bool, ImageLoader::RPathChain const&, char const*)",args=[],file="??",fullname="??",line="-1"},frame={level="5",addr="0x0000000100016513",func="dyld::link(ImageLoader*, bool, bool, ImageLoader::RPathChain const&, unsigned int)",args=[],file="??",fullname="??",line="-1"},frame={level="6",addr="0x0000000100018dd7",func="dyld::_main(macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*)",args=[],file="??",fullname="??",line="-1"},frame={level="7",addr="0x0000000100011224",func="dyldbootstrap::start(dyld3::MachOLoaded const*, int, char const**, dyld3::MachOLoaded const*, unsigned long*)",args=[],file="??",fullname="??",line="-1"},frame={level="8",addr="0x0000000100011025",func="_dyld_start",args=[],file="??",fullname="??",line="-1"},state="stopped"}]
1: (2463) ->(gdb)
1: (2508) Send Event AD7ModuleLoadEvent
Loaded '/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build/fib.out'. Symbols loaded.
1: (2511) 1009: elapsed time 64
1: (2515) Send Event AD7ProcessInfoUpdatedEvent
1: (2528) Send Event AD7ThreadCreateEvent
1: (2552) ->(gdb)
1: (2552) ->=library-loaded,id="/usr/lib/libSystem.B.dylib",target-name="/usr/lib/libSystem.B.dylib",host-name="/usr/lib/libSystem.B.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a559000",size="8192"
1: (2552) ->=library-loaded,id="/usr/lib/libc++.1.dylib",target-name="/usr/lib/libc++.1.dylib",host-name="/usr/lib/libc++.1.dylib",symbols-loaded="0",loaded_addr="0x00007fff202de000",size="352256"
1: (2552) ->=library-loaded,id="/usr/lib/system/libcache.dylib",target-name="/usr/lib/system/libcache.dylib",host-name="/usr/lib/system/libcache.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a553000",size="24576"
1: (2552) Send Event AD7ModuleLoadEvent
1: (2553) ->=library-loaded,id="/usr/lib/system/libcommonCrypto.dylib",target-name="/usr/lib/system/libcommonCrypto.dylib",host-name="/usr/lib/system/libcommonCrypto.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a50f000",size="49152"
Loaded '/usr/lib/libSystem.B.dylib'. Symbols loaded.
1: (2553) ->=library-loaded,id="/usr/lib/system/libcompiler_rt.dylib",target-name="/usr/lib/system/libcompiler_rt.dylib",host-name="/usr/lib/system/libcompiler_rt.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a539000",size="32768"
1: (2553) ->=library-loaded,id="/usr/lib/system/libcopyfile.dylib",target-name="/usr/lib/system/libcopyfile.dylib",host-name="/usr/lib/system/libcopyfile.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a52e000",size="45056"
1: (2553) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/libc++.1.dylib'. Symbols loaded.
1: (2553) ->=library-loaded,id="/usr/lib/system/libcorecrypto.dylib",target-name="/usr/lib/system/libcorecrypto.dylib",host-name="/usr/lib/system/libcorecrypto.dylib",symbols-loaded="0",loaded_addr="0x00007fff20108000",size="647168"
1: (2553) ->=library-loaded,id="/usr/lib/system/libdispatch.dylib",target-name="/usr/lib/system/libdispatch.dylib",host-name="/usr/lib/system/libdispatch.dylib",symbols-loaded="0",loaded_addr="0x00007fff201d3000",size="282624"
1: (2553) ->=library-loaded,id="/usr/lib/system/libdyld.dylib",target-name="/usr/lib/system/libdyld.dylib",host-name="/usr/lib/system/libdyld.dylib",symbols-loaded="0",loaded_addr="0x00007fff20386000",size="245760"
1: (2553) ->=library-loaded,id="/usr/lib/system/libkeymgr.dylib",target-name="/usr/lib/system/libkeymgr.dylib",host-name="/usr/lib/system/libkeymgr.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a54a000",size="4096"
1: (2553) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libcache.dylib'. Symbols loaded.
1: (2554) ->=library-loaded,id="/usr/lib/system/liblaunch.dylib",target-name="/usr/lib/system/liblaunch.dylib",host-name="/usr/lib/system/liblaunch.dylib",symbols-loaded="0",loaded_addr="0x00007fff2d962000",size="4096"
1: (2554) ->=library-loaded,id="/usr/lib/system/libmacho.dylib",target-name="/usr/lib/system/libmacho.dylib",host-name="/usr/lib/system/libmacho.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a4ed000",size="24576"
1: (2554) ->=library-loaded,id="/usr/lib/system/libquarantine.dylib",target-name="/usr/lib/system/libquarantine.dylib",host-name="/usr/lib/system/libquarantine.dylib",symbols-loaded="0",loaded_addr="0x00007fff29ce5000",size="12288"
1: (2554) Send Event AD7ModuleLoadEvent
1: (2554) ->=library-loaded,id="/usr/lib/system/libremovefile.dylib",target-name="/usr/lib/system/libremovefile.dylib",host-name="/usr/lib/system/libremovefile.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a547000",size="12288"
1: (2554) ->=library-loaded,id="/usr/lib/system/libsystem_asl.dylib",target-name="/usr/lib/system/libsystem_asl.dylib",host-name="/usr/lib/system/libsystem_asl.dylib",symbols-loaded="0",loaded_addr="0x00007fff24beb000",size="94208"
Loaded '/usr/lib/system/libcommonCrypto.dylib'. Symbols loaded.
1: (2554) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libcompiler_rt.dylib'. Symbols loaded.
1: (2555) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libcopyfile.dylib'. Symbols loaded.
1: (2555) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libcorecrypto.dylib'. Symbols loaded.
1: (2555) ->=library-loaded,id="/usr/lib/system/libsystem_blocks.dylib",target-name="/usr/lib/system/libsystem_blocks.dylib",host-name="/usr/lib/system/libsystem_blocks.dylib",symbols-loaded="0",loaded_addr="0x00007fff200b8000",size="8192"
1: (2555) Send Event AD7ModuleLoadEvent
1: (2555) ->=library-loaded,id="/usr/lib/system/libsystem_c.dylib",target-name="/usr/lib/system/libsystem_c.dylib",host-name="/usr/lib/system/libsystem_c.dylib",symbols-loaded="0",loaded_addr="0x00007fff20255000",size="561152"
Loaded '/usr/lib/system/libdispatch.dylib'. Symbols loaded.
1: (2555) ->=library-loaded,id="/usr/lib/system/libsystem_collections.dylib",target-name="/usr/lib/system/libsystem_collections.dylib",host-name="/usr/lib/system/libsystem_collections.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a541000",size="12288"
1: (2555) ->=library-loaded,id="/usr/lib/system/libsystem_configuration.dylib",target-name="/usr/lib/system/libsystem_configuration.dylib",host-name="/usr/lib/system/libsystem_configuration.dylib",symbols-loaded="0",loaded_addr="0x00007fff28feb000",size="16384"
1: (2555) ->=library-loaded,id="/usr/lib/system/libsystem_containermanager.dylib",target-name="/usr/lib/system/libsystem_containermanager.dylib",host-name="/usr/lib/system/libsystem_containermanager.dylib",symbols-loaded="0",loaded_addr="0x00007fff282d7000",size="69632"
1: (2555) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libdyld.dylib'. Symbols loaded.
1: (2555) ->=library-loaded,id="/usr/lib/system/libsystem_coreservices.dylib",target-name="/usr/lib/system/libsystem_coreservices.dylib",host-name="/usr/lib/system/libsystem_coreservices.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a290000",size="20480"
1: (2555) ->=library-loaded,id="/usr/lib/system/libsystem_darwin.dylib",target-name="/usr/lib/system/libsystem_darwin.dylib",host-name="/usr/lib/system/libsystem_darwin.dylib",symbols-loaded="0",loaded_addr="0x00007fff227c7000",size="40960"
1: (2556) ->=library-loaded,id="/usr/lib/system/libsystem_dnssd.dylib",target-name="/usr/lib/system/libsystem_dnssd.dylib",host-name="/usr/lib/system/libsystem_dnssd.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a54b000",size="32768"
1: (2556) ->=library-loaded,id="/usr/lib/system/libsystem_featureflags.dylib",target-name="/usr/lib/system/libsystem_featureflags.dylib",host-name="/usr/lib/system/libsystem_featureflags.dylib",symbols-loaded="0",loaded_addr="0x00007fff20252000",size="12288"
1: (2556) ->=library-loaded,id="/usr/lib/system/libsystem_info.dylib",target-name="/usr/lib/system/libsystem_info.dylib",host-name="/usr/lib/system/libsystem_info.dylib",symbols-loaded="0",loaded_addr="0x00007fff203cc000",size="180224"
1: (2556) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libkeymgr.dylib'. Symbols loaded.
1: (2556) ->=library-loaded,id="/usr/lib/system/libsystem_m.dylib",target-name="/usr/lib/system/libsystem_m.dylib",host-name="/usr/lib/system/libsystem_m.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a4a4000",size="294912"
1: (2556) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/liblaunch.dylib'. Symbols loaded.
1: (2556) ->=library-loaded,id="/usr/lib/system/libsystem_malloc.dylib",target-name="/usr/lib/system/libsystem_malloc.dylib",host-name="/usr/lib/system/libsystem_malloc.dylib",symbols-loaded="0",loaded_addr="0x00007fff201a6000",size="184320"
1: (2556) Send Event AD7ModuleLoadEvent
1: (2556) ->=library-loaded,id="/usr/lib/system/libsystem_networkextension.dylib",target-name="/usr/lib/system/libsystem_networkextension.dylib",host-name="/usr/lib/system/libsystem_networkextension.dylib",symbols-loaded="0",loaded_addr="0x00007fff24b7e000",size="61440"
Loaded '/usr/lib/system/libmacho.dylib'. Symbols loaded.
1: (2556) ->=library-loaded,id="/usr/lib/system/libsystem_notify.dylib",target-name="/usr/lib/system/libsystem_notify.dylib",host-name="/usr/lib/system/libsystem_notify.dylib",symbols-loaded="0",loaded_addr="0x00007fff22be6000",size="49152"
1: (2556) ->=library-loaded,id="/usr/lib/system/libsystem_product_info_filter.dylib",target-name="/usr/lib/system/libsystem_product_info_filter.dylib",host-name="/usr/lib/system/libsystem_product_info_filter.dylib",symbols-loaded="1",symbols-path="",loaded_addr="0x00007fff2fdf9000",size="4096"
1: (2557) ->=library-loaded,id="/usr/lib/system/libsystem_sandbox.dylib",target-name="/usr/lib/system/libsystem_sandbox.dylib",host-name="/usr/lib/system/libsystem_sandbox.dylib",symbols-loaded="0",loaded_addr="0x00007fff28fef000",size="20480"
1: (2557) ->=library-loaded,id="/usr/lib/system/libsystem_secinit.dylib",target-name="/usr/lib/system/libsystem_secinit.dylib",host-name="/usr/lib/system/libsystem_secinit.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a544000",size="12288"
1: (2557) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libquarantine.dylib'. Symbols loaded.
1: (2557) ->=library-loaded,id="/usr/lib/system/libsystem_kernel.dylib",target-name="/usr/lib/system/libsystem_kernel.dylib",host-name="/usr/lib/system/libsystem_kernel.dylib",symbols-loaded="0",loaded_addr="0x00007fff2034a000",size="196608"
1: (2557) ->=library-loaded,id="/usr/lib/system/libsystem_platform.dylib",target-name="/usr/lib/system/libsystem_platform.dylib",host-name="/usr/lib/system/libsystem_platform.dylib",symbols-loaded="0",loaded_addr="0x00007fff203c2000",size="40960"
1: (2557) ->=library-loaded,id="/usr/lib/system/libsystem_pthread.dylib",target-name="/usr/lib/system/libsystem_pthread.dylib",host-name="/usr/lib/system/libsystem_pthread.dylib",symbols-loaded="0",loaded_addr="0x00007fff2037a000",size="49152"
1: (2557) ->=library-loaded,id="/usr/lib/system/libsystem_symptoms.dylib",target-name="/usr/lib/system/libsystem_symptoms.dylib",host-name="/usr/lib/system/libsystem_symptoms.dylib",symbols-loaded="0",loaded_addr="0x00007fff262c8000",size="32768"
1: (2557) ->=library-loaded,id="/usr/lib/system/libsystem_trace.dylib",target-name="/usr/lib/system/libsystem_trace.dylib",host-name="/usr/lib/system/libsystem_trace.dylib",symbols-loaded="0",loaded_addr="0x00007fff200f0000",size="98304"
1: (2557) Send Event AD7ModuleLoadEvent
1: (2557) ->=library-loaded,id="/usr/lib/system/libunwind.dylib",target-name="/usr/lib/system/libunwind.dylib",host-name="/usr/lib/system/libunwind.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a51b000",size="45056"
Loaded '/usr/lib/system/libremovefile.dylib'. Symbols loaded.
1: (2557) ->=library-loaded,id="/usr/lib/system/libxpc.dylib",target-name="/usr/lib/system/libxpc.dylib",host-name="/usr/lib/system/libxpc.dylib",symbols-loaded="0",loaded_addr="0x00007fff200ba000",size="221184"
1: (2557) ->=library-loaded,id="/usr/lib/libc++abi.dylib",target-name="/usr/lib/libc++abi.dylib",host-name="/usr/lib/libc++abi.dylib",symbols-loaded="0",loaded_addr="0x00007fff20334000",size="90112"
1: (2557) ->=library-loaded,id="/usr/lib/libobjc.A.dylib",target-name="/usr/lib/libobjc.A.dylib",host-name="/usr/lib/libobjc.A.dylib",symbols-loaded="0",loaded_addr="0x00007fff20218000",size="237568"
1: (2557) ->=library-loaded,id="/usr/lib/liboah.dylib",target-name="/usr/lib/liboah.dylib",host-name="/usr/lib/liboah.dylib",symbols-loaded="0",loaded_addr="0x00007fff2a526000",size="32768"
1: (2557) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_asl.dylib'. Symbols loaded.
1: (2558) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_blocks.dylib'. Symbols loaded.
1: (2558) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_c.dylib'. Symbols loaded.
1: (2558) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_collections.dylib'. Symbols loaded.
1: (2558) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_configuration.dylib'. Symbols loaded.
1: (2558) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_containermanager.dylib'. Symbols loaded.
1: (2559) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_coreservices.dylib'. Symbols loaded.
1: (2559) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_darwin.dylib'. Symbols loaded.
1: (2559) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_dnssd.dylib'. Symbols loaded.
1: (2559) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_featureflags.dylib'. Symbols loaded.
1: (2560) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_info.dylib'. Symbols loaded.
1: (2560) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_m.dylib'. Symbols loaded.
1: (2560) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_malloc.dylib'. Symbols loaded.
1: (2560) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_networkextension.dylib'. Symbols loaded.
1: (2561) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_notify.dylib'. Symbols loaded.
1: (2561) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_product_info_filter.dylib'. Cannot find or open the symbol file.
1: (2562) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_sandbox.dylib'. Symbols loaded.
1: (2562) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_secinit.dylib'. Symbols loaded.
1: (2562) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_kernel.dylib'. Symbols loaded.
1: (2562) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_platform.dylib'. Symbols loaded.
1: (2562) ->(gdb)
1: (2562) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_pthread.dylib'. Symbols loaded.
1: (2563) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_symptoms.dylib'. Symbols loaded.
1: (2563) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libsystem_trace.dylib'. Symbols loaded.
1: (2563) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libunwind.dylib'. Symbols loaded.
1: (2563) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/system/libxpc.dylib'. Symbols loaded.
1: (2563) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/libc++abi.dylib'. Symbols loaded.
1: (2564) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/libobjc.A.dylib'. Symbols loaded.
1: (2564) Send Event AD7ModuleLoadEvent
Loaded '/usr/lib/liboah.dylib'. Symbols loaded.
1: (2566) ->*stopped,reason="breakpoint-hit",disp="del",bkptno="1",frame={level="0",addr="0x0000000100003f66",func="main",args=[{name="argc",value="1"},{name="argv",value="0x00007ffeefbff770"}],file="main.cpp",fullname="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/main.cpp",line="5"},thread-id="1",stopped-threads="all"
1: (2566) ->(gdb)
1: (2595) <-1010-thread-info
1: (2596) ->1010^done,threads=[{id="1",target-id="Thread 1",frame={level="0",addr="0x0000000100003f66",func="main",args=[{name="argc",value="1"},{name="argv",value="0x00007ffeefbff770"}],file="main.cpp",fullname="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/main.cpp",line="5"},frame={level="1",addr="0x00007fff2039bf3d",func="start",args=[],file="??",fullname="??",line="-1"},state="stopped"}],current-thread-id="1"
1: (2596) ->(gdb)
1: (2598) 1010: elapsed time 2
1: (2618) <-1011-interpreter-exec console "process handle --pass true --stop false --notify false SIGHUP"
1: (2618) ->~"NAME         PASS   STOP   NOTIFY\n===========  =====  =====  ======\nSIGHUP       true   false  false\n"
1: (2618) ->1011^done
1: (2618) ->(gdb)
1: (2619) 1011: elapsed time 0
1: (2620) <-1012-break-delete 1
1: (2621) ->1012^done
1: (2621) ->(gdb)
1: (2622) 1012: elapsed time 1
1: (2623) Send Event AD7EntryPointEvent
Execute debugger commands using "-exec <command>", for example "-exec info registers" will list registers in use (when GDB is the debugger)
<--   C (threads-8): {"command":"threads","type":"request","seq":8}
<--   C (threads-9): {"command":"threads","type":"request","seq":9}
<--   C (stackTrace-10): {"command":"stackTrace","arguments":{"threadId":1,"startFrame":0,"levels":20},"type":"request","seq":10}
<--   C (scopes-11): {"command":"scopes","arguments":{"frameId":1000},"type":"request","seq":11}
<--   C (variables-12): {"command":"variables","arguments":{"variablesReference":1000},"type":"request","seq":12}
1: (3519) <-1013-stack-list-variables 0 --thread 1 --frame 0
1: (3520) ->1013^done,variables=[{arg="1",name="argc"},{arg="1",name="argv"}]
1: (3520) ->(gdb)
1: (3523) 1013: elapsed time 3
1: (3534) <-1014-var-create - - "argc" --thread 1 --frame 0
1: (3535) ->1014^done,name="var0",numchild="0",value="1",type="int",thread-id="1",has_more="0"
1: (3535) ->(gdb)
1: (3536) 1014: elapsed time 2
1: (3539) <-1015-var-create - - "argv" --thread 1 --frame 0
1: (3539) ->1015^done,name="var1",numchild="1",value="0x00007ffeefbff770",type="char **",thread-id="1",has_more="0"
1: (3539) 1015: elapsed time 0
1: (3539) ->(gdb)

@newdigate
Copy link
Author

When I run -exec "show cwd" in the debug console I get this output - not sure if I'm doing it correctly....

-exec "show cwd"
<--   C (evaluate-22): {"command":"evaluate","arguments":{"expression":"-exec \"show cwd\"","frameId":1000,"context":"repl"},"type":"request","seq":22}
1: (915673) <-1019-interpreter-exec console "\"show cwd\""
1: (915674) ->&"error: 'show' is not a valid command.\n"
1: (915674) ->1019^done
1: (915674) ->(gdb)
1: (915674) 1019: elapsed time 0
error: 'show' is not a valid command.

<--   C (scopes-23): {"command":"scopes","arguments":{"frameId":1000},"type":"request","seq":23}
<--   C (variables-24): {"command":"variables","arguments":{"variablesReference":1012},"type":"request","seq":24}

@WardenGnaw
Copy link
Member

GDB's working directory is /Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib

1: (1048) <-1004-environment-cd "/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib"
1: (1048) ->(gdb)
1: (1049) ->1004^done,path="/Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib"

but for some reason the inferior process is WorkingDir: /Users/nicholasnewdigate/Development/github/vscode-cpptools/Code Samples/Fib/build.

This may be a bug in lldb where it does not properly update the working directory after updating the debugger's working directory.

When I run -exec "show cwd" in the debug console I get this output - not sure if I'm doing it correctly....

This means lldb-mi did not implement this gdb MI interface and may not have the correct commands to set the working directly correctly.

@WardenGnaw WardenGnaw added external and removed more info needed The issue report is not actionable in its current state labels Aug 27, 2021
@github-actions
Copy link

This issue has been closed automatically because it's labeled as 'external'.

@newdigate
Copy link
Author

Thank you Andrew! very much appreciate your help. I'll follow up with llbd-mi!

Kind regards,
Nic

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants