vscode GDB远程调试安卓
如果是比较新的android ndk的版本,建议使用lldb进行调试,参考:vscode lldb远程调试 - OpenFDE - OpenFDE Docs,将lldbserver push到移动端,开启端口调试,配置launch.json即可。
我调试的项目使用的是ndk-r17c,该版本的ndk没有lldb调试,只有gdb调试。
在prebuilt目录下,使用find -name gdbserver找到你需要的gdbserver版本,并push到手机上。
在linux-x86_64/bin下找到可执行文件gdb-orig,然后配置launch.json:
{
"name": "GDB remote codl_run",
"type": "cppdbg",
"targetArchitecture": "arm64", // Ensure to set the correct architecture for your target
"miDebuggerServerAddress": "172.16.101.5:8888", // GDB server address
"miDebuggerPath": "${workspaceFolder}/android-ndk-r17c/prebuilt/linux-x86_64/bin/gdb-orig", // Local GDB path
"request": "launch",
"program": "${workspaceFolder}/codl-mobile/debugee/bin/arm64-v8a/cpu_gpu/codl_run",
"args": [
"--test=yolo_v2_real_chain_search",
"--op_idx=0",
"--op_count=-1",
"--chain_idx=-1",
"--chain_count=-1",
"--num_threads=4",
"--chain_param_hint=1",
"--gpu_mtype=2",
"--data_transform",
"--compute",
"--latency_acq=1",
"--lp_backend=1",
"--search_method=serial",
"--search_baseline=0",
"--pratio_hint=0",
"--rounds=50",
"--debug_level=0"
],
"stopAtEntry": false,
"cwd": "${workspaceFolder}/codl-mobile/test/codl_run/",
"environment": [ // Use "environment" to set environment variables
{
"name": "MACE_OPENCL_PROFILING",
"value": "1"
},
{
"name": "CODL_CONFIG_PATH",
"value": "/data/local/tmp/codl/configs/config_codl.json"
},
{
"name": "LD_LIBRARY_PATH",
"value": "/data/local/tmp/codl"
},
{
"name": "PATH",
"value": "/data/local/tmp/codl"
}
],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Set breakpoint at main",
"text": "break main", // Optional: Set a breakpoint at main or another function
"ignoreFailures": false
}
]
},
一定要使用ndk里的gdb,不然会报错。
移动端使用命令./gdbserver :8888 ./XXX --args。
vscode GDB远程调试安卓的更多相关文章
- gdb 远程调试android进程 -转
什么是gdb 它是gnu组织开发的一个强大的unix程序调试工具,我们可以用它来调试Android上的C.C++代码. 它主要可以做4件事情: 随心所欲地启动你的程序. 设置断点,程序执行到断点处会停 ...
- Gdb远程调试Linux内核遇到的Bug
知识共享许可协议本作品采用知识共享署名 4.0 国际许可协议进行许可.转载保留声明头部与原文链接https://luzeshu.com/blog/gdb-bug 本博客同步在http://www.cn ...
- gdb 远程调试android进程
原文:http://blog.csdn.net/xinfuqizao/article/details/7955346?utm_source=tuicool 什么是gdb 它是gnu组织开发的一个强大的 ...
- 在海思芯片上使用GDB远程调试
1 前言 使用海思平台上(编译工具链:arm-himix200-linux)交叉编译 GDB 工具(使用版本8.2,之前用过10.2的版本,在编译 gdbserver 遇到编译出错的问题,因为关联了其 ...
- gdb 远程调试 android native 程序
ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 先看一张原理图: 我是 Linux 和 Android 双料 0 基础,目前对 gdb 了解的很浅显.(注意 ...
- ida GDB 远程调试
在看雪上回答的问题,有人问在WinDbg下断KiDebugRoutine或者KdEnterDebugger函数会引发蓝屏!因为是在调试Windows的内核调试引擎,我给出的解决办法是用不依赖Windo ...
- DM368 arm板GDB远程调试
参考: http://www.erchashu.com/wiki/eclipse-cdt-gdb-arm-app-cross-debug 远程调试环境由宿主机GDB和目标机调试stub共同构成,两者通 ...
- 用GDB远程调试android native程序
上次写了几个native程序,想着如何调试,经过一阵子搜索和测试,终于完成了.有几个关键点: 1 gdb和gdbserver 因为这两个需要配套,建议使用同一个ndk下面的gdb和gdbserver ...
- 源码级别gdb远程调试(实现OS简单内核)
最近在学着编写一个操作系统的简单内核,需要debug工具,我们这里使用gdb来进行调试,由于虚拟机运行和本机是两个部分,所以使用 gdb 的远程调试技术,这里对 gdb 常见调试以及远程调试方式做一个 ...
- ARM平台如何玩转GDB远程调试?
前 言 关于GDB工具 GDB工具是GNU项目调试器,基于命令行使用.和其他的调试器一样,可使用GDB工具单步运行程序.单步执行.跳入/跳出函数.设置断点.查看变量等等,它是UNIX/LINUX操作 ...
随机推荐
- [每日算法] leetcode第2题:两数相加
leetcode第2题入口 题目描述 给你两个 非空 的链表,表示两个非负的整数.它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字. 请你将两个数相加,并以相同形式返回一个表 ...
- Electron 客户端开机自启动
app.setLoginItemSettings 与 auto-launch 对比分析 一.稳定性对比 1. app.setLoginItemSettings 优点:作为Electron官方API,有 ...
- leetcode每日一题:酿造药水需要的最少总时间
引言 今天的每日一题原题是2255. 统计是给定字符串前缀的字符串数目,直接模拟,逐个匹配words中的字符串是否是s的前缀即可.更换成前几天遇到的更有意思的一题来写这个每日一题. 题目 给你两个 ...
- 洛谷 - B4276 [蓝桥杯青少年组国赛 2023] 八进制回文平方数 - 题解
题目传送门 主要思路 首先,这道题范围在 \(10^9\),我们不可能直接从 \(1\) 循环到 \(N\).我们不难看出,这道题是求平方数的八进制是否回文,那些不是平方数的例如 \(2\) 呀,\( ...
- 【Legged gym】关于Legged gym用到的roll_out_storages的batch的解析和一些PPO算法层面.config文件里参数的说明
1. 前言 一方面便于日后自己的温故学习,另一方面也便于大家的学习和交流. 如有不对之处,欢迎评论区指出错误,你我共同进步学习! 2. 正文 2.1 yield 最开始发现于:rollout_stor ...
- ESP32+Arduino入门(一):开发环境搭建
前言 作为一名硬件小白,在动手组装了一下小智AI之后,感觉还挺有意思的,也想开始学习ESP32了. ESP32介绍 ESP32 是乐鑫科技(Espressif Systems)推出的一款高性能.低功耗 ...
- 使用Python计算汉密尔顿路径
引言 在图论中,汉密尔顿路径(Hamiltonian Path)是一个经典问题,它在很多实际应用中都有广泛的应用,如网络路由.旅行商问题等.今天,我们将一起探讨如何使用 Python 来计算汉密尔顿路 ...
- 使用java代码获取JVM信息
转载请注明出处: 最近在环境中定位服务问题,由于服务使用的docker部署的,且使用的docker镜像,在启动之后,容器内没有jdk相关的工具[jstat.jmap等等]:于是采用 在项目中使用jav ...
- 🎀idea - properties文件unicode中文显示
简介 idea中properties文件中文默认展示为unicode码 unicode 中文展示为 \u开头的ASCII 调整中文显示 idea -> settings -> Editor ...
- Model Context Protocol(MCP)在claude使用
定义 MCP通过统一的协议,使AI模型(如Claude.GPT等)能够动态调用外部工具(如数据库.API.本地文件等),并实现跨模型的上下文共享与协作 架构 客户端-服务器模型: MCP主机(Host ...