gdb不能在macos catalina上与visual studio一起运行 我在Mac OS Calalina上有一个小的hello World C++代码,G++/GDB是用BREW安装的。 我正在尝试用visual studio代码调试此程序,但无法运行它
当我在vs代码中“运行>开始调试”时,我得到错误:gdb不能在macos catalina上与visual studio一起运行 我在Mac OS Calalina上有一个小的hello World C++代码,G++/GDB是用BREW安装的。 我正在尝试用visual studio代码调试此程序,但无法运行它,c++,macos,gdb,macos-catalina,C++,Macos,Gdb,Macos Catalina,当我在vs代码中“运行>开始调试”时,我得到错误: ERROR: Unable to start debugging. Unexpected GDB output from command "-exec-run". Unable to find Mach task port for process-id 2400: (os/kern) failure (0x5). (please check gdb is codesigned - see taskgated(8)) 然后
ERROR: Unable to start debugging. Unexpected GDB output from command "-exec-run".
Unable to find Mach task port for process-id 2400: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))
然后,为了解决此问题,我执行了以下步骤:
最初,我尝试从命令行运行gdb,以检查它是否正常工作:
$g++ -g hello.cpp
$./a.out # this prints hello message as expected
$gdb -v --> this is 9.2
$ls -ls a.out
96 -rwxr-xr-x 1 ... a.out --> so executable permissions are correct
$gdb ./a.out
Reading symbols from ./a.out...
Reading symbols from .../a.out...
> run
Starting program: .../a.out
Unable to find Mach task port for process-id 2003: (os/kern) failure (0x5).
(please check gdb is codesigned - see taskgated(8))
我搜索了一个解决方案,并执行了以下操作:
$sudo gdb ./a.out --> this command worked
Reading symbols from ./a.out...
Reading symbols from .../a.out...
> run
Starting program: .../a.out
[New Thread 0xe03 of process 2528]
[New Thread 0x1703 of process 2528]
warning: unhandled dyld version (16)
Hello C++ World from VS Code and the C++ extension!
[Inferior 1 (process 2528) exited normally]
因此,现在gdb可以从命令行工作,但只使用sudo
然而,我不能使用sudo,因为我的目标是从vs代码内部运行gdb。
所以我检查了gdb的权限,他们有管理员权限:
$ls -ls /usr/local/bin/gdb
0 lrwxr-xr-x 1 rog admin 27 Aug 29 16:05 /usr/local/bin/gdb -> ../Cellar/gdb/9.2_1/bin/gdb
$ls -ls /usr/local/Cellar/gdb/9.2_1/bin/gdb
50368 -rwxr-xr-x 1 rog admin 25786928 Aug 29 16:09 gdb
那么,在不使用sudo的情况下让gdb工作的解决方案是什么呢?sudo有望使gdb在vs代码中工作?或者,是否有其他方法使其与vs代码一起工作