举例cocos2d-x提供的已有例子HelloCpp:
cmd:
如果没有生成build。xml,首先
输入: android.bat list target 来查询我们现有的版本list有哪些.
输入:andorid update project -n 项目名 -t 1 -p 项目路径
(-n 对应的是项目名称, -t就是我们之前查询的SDK版本对应的ID,大家根据自己的项目版本做出选择即可, -p就是生成的路径)
cd C:\sdk\cocos2d\samples\Cpp\HelloCpp\proj.android
ndk-build NDK_DEBUG=1
ant debug
cd C:\sdk\cocos2d\samples\Cpp\HelloCpp\proj.android\bin
adb install HelloCpp-debug.apk
cygwin:
cd $ndk
项目路径
ndk-gdb
b(断点) HelloCpp.c: (指定调试行)
一、GDB常用命令简介
r | run | 运行.程序还没有运行前使用 |
c | cuntinue | 运行到下一断点处 |
q | quit | 退出 |
tab | tab | 命令补全功能 |
h | help | 帮助 |
s | step | 跟入函数 |
n | next | 执行下一行的代码。如果是函数调用,也当作一行代码,执行到此函数返回 |
b | breakpoint | 设置断点,用法:(1)b 函数名 (2)b 文件名:行号 |
info b | info breakpoints | 查看断点数 |
del | delete | 删除断点:delete 断点号 |
l | list | 列出代码行。一次列10 行。 也可在 list 后面跟上 文件名:行号 |
watch | watch | 观察一个变量的值。每次中断时都会显示这个变量的值 |
what | what | 显示变量的类型 |
p | 打印一个变量的值。print 也可改变一个值,通过指令 p b = 100,变量b 的值就变成100了 | |
start | start | 从主函数 main 开始运行调试 |
fin | finish | 运行直至当前函数返回 |
二、GDB命令详解
和所有常用的调试工具一样,gdb提供了以下功能:
# 监视程序中变量的值
# 在程序中设置断点
# 程序的单步执行
在使用gdb前,必须先载入可执行文件,因为要进行调试,文件中就必须包含调试信息,所以在用gcc或cc编译时就需要用-g参数来打开程序的调试选项。
调试开始时,必须先载入要进行调试的程序,可以用以下两种方式:
* 在启动gdb后执行以下命令:
file 可执行文件路径
* 在gdb启动时就载入程序:
gdb 可执行文件路径
载入程序后,接下来就是要进行断点的设置,要监视的变量的添加等工作,下面对在这个过程中常会用到的命令逐一进行介绍:
* list:显示程序中的代码,常用使用格式有:
list
输出从上次调用list命令开始往后的10行程序代码。
list -
输出从上次调用list命令开始往前的10