Windows平台VSCode搭建安卓native C++可视化调试环境

准备:

1. C/C++ extension

2. andorid ndk

主要步骤:

1.VSCode 安装C/C++ extension

 

在VS CODE插件市场中查找并安装

2. 下载android ndk或者直接在Android Studio中下载,在其中中找到gdbserver

 

将gdbserver push到目标设备中 

adb push ./Android/Sdk/ndk/21.1.6352462/prebuilt/android-arm64/gdbserver  /data/user/cnn/debug

adb chmod 777 /data/user/cnn/debug/gdbserver                                     

3. 设置VSCode配置文件

  1. 点击Run-> Add Configuration...
  2. 选择C/C++ (gdb) Launch 作为默认配置。

  3. 编写launch.json

{

    "version""0.2.0",

    "configurations": [

        {

            "name""RemoteGDB",                                //调试任务名

            "type""cppdbg",

            "request""launch",

            "cwd""${workspaceRoot}",

            "program""${workspaceRoot}/obj/local/arm64v8a/test",           //目标调试程序(带符号)

            "additionalSOLibSearchPath""${workspaceRoot}/obj/local/arm64v8a",  //目标调试库(带符号)

            "miDebuggerServerAddress""localhost:5555",             //设置本地通信端口

            "setupCommands": [

                {

                    "description""Enable pretty-printing for gdb",

                    "text""-enable-pretty-printing",

                    "ignoreFailures"true,

                },

                {

                    "text""set sysroot ${workspaceRoot}/obj/local/arm64-v8a",

                    "description""set sysroot path"

                },

            ],

            "windows": {

                "miDebuggerPath""C:/Users/11101476/AppData/Local/Android/Sdk/ndk/21.1.6352462/prebuilt/windows-x86_64/bin/gdb.exe"//本机GDB位置

                "MIMode""gdb"

            }

        }

    ]

}                                  


4. 执行操作

 使用ndk在本地或服务器端编译可执行文件和so, gcc开启 -O0会更加方便调试

 将测试可执行文件和so push到手机中,(注意我们无需把带符号表的.so库push到手机,那样会很慢)

adb push .\libs\arm64-v8a\test /data/user/cnn/debug/test

 

adb push .\libs\arm64-v8a\libvcap.so /system/lib64/    

 

adb shell chmod 777 /data/user/cnn/debug/test  //开启权限                                                          

 使用adb运行gdbserver, 在目标设备开启调试线程,并设置端口

adb shell data/user/cnn/debug/gdbserver --remote-debug :5555   /data/user/cnn/debug/test                                                           

 ADB开启端口转发

adb forward tcp:5555 tcp:5555                                                          


在VSCode内按F5开启调试 监听目标端口

 

 执行操作可以按需打包成脚本文件,这样只需要无脑F5就可以直接调试了

参考文档:

https://www.gamedev.net/tutorials/programming/general-and-gameplay-programming/android-debugging-with-visual-studio-code-r4820/

https://zhuanlan.zhihu.com/p/222416969

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值