AOSP lldbclient.py 丢失?

问题描述 投票:0回答:2

我正在从源代码构建 AOSP,并创建了一个小型 C++ 程序,在启动时将一些消息打印到

logcat
。现在我想根据https://source.android.com/devices/tech/debug/gdb

来调试程序

在参考资料中,鼓励您使用

lldb
而不是
gdb
,并且还有一小节介绍如何使用 VS Code 作为调试器。

但是,我在源代码和 Android 代码搜索中都找不到提到的脚本

lldbclient
,似乎只有
gdbclient.py
存在。

Q1:哪里可以找到lldbclient脚本?

运行

gdbclient.py
脚本时,选项
--setup-forwarding vscode
似乎被忽略,并且
gdb
始终启动。

Q2:如果没有

lldbclient
脚本,我必须传递哪些选项给
gdbclient.py
才能使用
lldb
和 vs code 进行调试?

到目前为止我做了什么?

gdbclient.py -r /data/mysample_bin --setup-forwarding vscode

启动带有附加

gdb
的本机程序,并允许我单步执行我的程序。

虽然我不知道如何编写Python代码,但我能够在脚本中找到方法

generate_setup_script
的调用序列,该方法是用参数
debugger=gdb
调用的。因此,不会创建 VS Code 的
lldb
配置。将
--no-gdb
--lldb
传递给脚本不会改变此行为。

debugging native android-source lldb
2个回答
0
投票

Q1:您可以在存储库https://android.googlesource.com/platform/development、分支 android-s-beta-2(或另一个 android-s 分支)中找到 lldbclient.py 脚本。
Q2:Android 还提供了一些使用 Vscode 调试的教程:https://source.android.com/devices/tech/debug/gdb#vscode.


0
投票

您需要检查AOSP的版本。

gdbclient.py -r /data/mysample_bin --setup-forwarding vscode

我已经尝试过,在 Android 11 上运行正常,但在 Android 9 上却提示我。

gdbclient.py -p 476 --setup-forwarding vscode
usage: gdbclient.py [-h] [--adb ADB_PATH] [-a | -d | -e | -s SERIAL]
                    (-p PID | -n NAME | -r ...) [--port [PORT]]
                    [--user [USER]]
gdbclient.py: error: unrecognized arguments: --setup-forwarding vscode

具体内容是

development/scripts/gdbclient.py

© www.soinside.com 2019 - 2024. All rights reserved.