如何解决lldb 无法使用 python API
我正在尝试使用 lldb 连接到 Mac 上的调试服务器。虽然以下命令集在 lldb cli 中运行良好,但在使用 error: the platform is not currently connected
从 python 运行时,同一组命令失败并显示 debugger.GetCommandInterpreter().HandleCommand
。
我也尝试过使用直接的 Python API,但运气不佳。不过,我有兴趣了解更多关于差异的信息,并使其与 python.enter 代码中的解释器一起使用
更多上下文:https://github.com/vadimcn/vscode-lldb/issues/411
启动调试服务器:
$ lldb/bin/debugserver 127.0.0.1:1234
...
lldb CLI(有效):
(lldb) platform select remote-macosx
(lldb) target create ~/Projects/vscode-lldb/build/debuggee/debuggee
(lldb) process connect connect://127.0.0.1:1234
(lldb) process launch
Process 64302 launched: '/Users/nisarg/Projects/vscode-lldb/build/debuggee/debuggee' (x86_64)
...
Python(错误:平台当前未连接):
>>> import sys; sys.path.append('/Applications/Xcode.app/Contents/SharedFrameworks/LLDB.framework/Resources/Python3')
>>> from lldb import *
>>> debugger = SBDebugger.Create()
>>> inter = debugger.GetCommandInterpreter()
>>> res = SBCommandReturnObject()
>>> commands = ['platform select remote-macosx','target create /Users/nisarg/Projects/vscode-lldb/build/debuggee/debuggee','process connect connect://127.0.0.1:1234','process launch']
>>> for command in commands: inter.HandleCommand(command,res); print(command); print(res.Succeeded()); print(res.GetOutput(),"\n",res.GetError())
...
2
platform select remote-macosx
True
Platform: remote-macosx
Connected: no
1
target create /Users/nisarg/Projects/vscode-lldb/build/debuggee/debuggee
True
Current executable set to '/Users/nisarg/Projects/vscode-lldb/build/debuggee/debuggee' (x86_64).
1
process connect connect://127.0.0.1:1234
True
There is a running process,kill it and restart?: [Y/n] y
6
process launch
False
error: the platform is not currently connected
尝试连接到在 Mac 上本地运行的调试服务器或从 iOS 转发调试服务器时观察到相同的行为。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。