(MacOs Catalina上的LLDB)外壳程序扩展失败
当尝试在lldb中使用(MacOs Catalina上的LLDB)外壳程序扩展失败,c,macos,debugging,lldb,macos-catalina,C,Macos,Debugging,Lldb,Macos Catalina,当尝试在lldb中使用r或run命令时,我会遇到如下错误:错误:shell扩展失败(原因:无效JSON)。考虑启动“进程启动”。< /代码> 当我只使用processlaunch时,它就起作用了,但我真的不想这样做 有什么方法可以使别名或shell扩展不失败吗?lldb进行shell扩展的方法是运行一个名为lldb argdumper(在macOS上的Xcode.app/Contents/SharedFrameworks/lldb.framework/Resources中)的小工具,并使用您传
r
或run
命令时,我会遇到如下错误:错误:shell扩展失败(原因:无效JSON)。考虑启动“进程启动”。< /代码>
当我只使用processlaunch
时,它就起作用了,但我真的不想这样做
有什么方法可以使别名或shell扩展不失败吗?lldb进行shell扩展的方法是运行一个名为lldb argdumper
(在macOS上的Xcode.app/Contents/SharedFrameworks/lldb.framework/Resources中)的小工具,并使用您传递的命令参数lldb argdumper
将argv的内容包装为JSON,并将其写入stdout。然后lldb将JSON解析回args,并在启动进程时将args逐个插入argc/argv数组
输出中的某些内容没有正确包装。通过查看带有参数的lldb argdumper
的输出,您可能可以看到它是什么。不管它是什么,它都是一个bug,所以如果你能重现它,请用你的例子存档
将生成一个不进行shell扩展的别名。您还可以将其放在~/.lldbinit中
(lldb) command alias run-no-shell process launch -X 0 --