调试 Android Native APK 的 C/C++ 代码

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

我构建了一组无头 Vulkan 应用程序,可以为各种平台 {Win/Mac/Android} 进行编译并作为本机可执行文件运行。由于主要与 RenderDoc 捕获和调试相关的原因,我需要能够将这些应用程序构建和部署为 APK。按照类似于 https://github.com/cnlohr/rawdrawandroid 的方法,我编写了必要的签名和打包脚本作为我的构建系统的一部分,并使用 android_native_app_glue 最小化连接到现有代码。现在我有一个 Java 代码为零的 APK,我现在正在尝试找出如何方便地连接到调试器。 https://github.com/adelphes/android-dev-ext 不是一个选项,因为这显然只适用于 Java 代码。我之前曾在 launch.json 中成功进行了远程 lldb 配置(如下所示),但我一直无法为 APK 找出类似的解决方案。

是否可以创建允许远程调试 APK 的配置?似乎所有的成分都可用,但我找不到这样做的例子。似乎可以远程连接到正在运行的APK,如https://www.sh-zam.com/2019/05/debugging-krita-on-android.html,但我还没有弄清楚如何重现此功能位于 launch.json 配置中。

    {
        "name"           : "Remote Debug",
        "type"           : "lldb",
        "request"        : "launch",
        "program"        : "${workspaceFolder}/bin/testApp", // Local path, will be copied to device automatically
        "breakpointMode" : "path",
        "initCommands"   : [
            "platform select remote-android",
            "platform connect connect://e9646fd7:10086",
            "settings set target.inherit-env false", // don't want to inherit host machine environment
        ],
}
android visual-studio-code apk vscode-debugger vscode-remote
1个回答
0
投票

我相信这两个链接应该可以提供您需要的答案:

基本上,它可以归结为运行远程

gdb
调试会话。一旦建立,它的行为应该与常规调试会话非常相似。

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