GDB调试

作者: 唐僧不爱洗头_f7b5 | 来源:发表于2017-07-10 13:51 被阅读0次

使用GDB调试
配置环境参数:

$ cd /local/software/goflip/
$ export PATH=/sbin:$PATH
$ source build/envsetup.sh
$ export PRODUCT_DEFAULT_SYMLINK_FILE=true
$ choosecombo//后面的参数看具体的项目

Attach进程:

$ adb devices                //如果获取不到手机,则跑adb
kill-server,adb start-server,否则直接跑下面的命令。
$ cd device/qcom/b2g_common/
$ adb shell b2g-ps          
//查看手机正在运行的进程PID,选择debug的目标
$ source ./run-ddd.sh attach 2761

Debug

1.在最下面输入框中输入(不能粘贴):b 文件名:行数
,然后按enter键。注:只能给C或者C++文件打断点
eg:b Camera.cpp:234 
2.在同样的地方输入:c,然后回车。
3.操纵手机,等待运行到断点处,可在菜单栏选择查看栈。

GDB常用方法
(1)常用的命令,以拍照为例
拍照函数在frameworks/av/camera/Camera.cpp->takePicture

(gdb) b Camera.cpp:234  ->打断点在takePicture函数
(gdb) c ->continue
(gdb) n -> next,逐行调试
(gdb) p -> print,打印变量  
(gdb) bt->backtrace, 打印栈帧指针
(gdb) up/down , 跳到上层或者下层函数
(gdb) quit,退出 GDB

(2)Debug B2G进程,抓取死机stack

直接在device/qcom/b2g_common下面执行 source run-ddd.sh
会重新启动b2g进行调试 ,
复现b2g crash。
输入bt既能恢复死机栈.               

(3)抓Log,在不改代码的情况下,teace变量的值, 如Camera的例子里面

b Camera.cpp:234  ->在这里打上断点
commands 1  ->commands 1这个断点上
>printf "msgType is %d \n", msgType
>continue
>end
然后在执行,就会打印出log

(4)设置值进行调试

在断点的地方直接调用print+变量名设置
如b Camera.cpp:234
拍照,执行断点函数
p msgType查看为238
print msgType = 1
在p msgType查看,msgType改为1

相关文章

  • 2. gdb的使用

    参考链接1. GDB调试2. gdb调试方法3. gdb调试示例 1. 说说 gdb gdb 是一款 UNIX 系...

  • gcc常用命令

    gdb相关 gcc加-g才能使用gdb调试gdb -tui a.out打开调试界面run/stop/continu...

  • GDB调试记录

    gdb attach 15343 # 调试某个进程 GNU gdb (GDB) 7.12Copyrigh...

  • gdb调试基本方法

    gdb调试基本方法 gdb调试常用命令 在GDB中运行程序 断点(BreakPoint) 观察点(WatchPoi...

  • GDB命令

    gdb test 启动gdb调试test可执行文件gdb att 进程名 调试某个进程b [行数]/[函数名...

  • Xcode debug Hotspot(一)——创建Xcode项

    概述 前面安装gdb调试hotspot里面,我记录了自己安装gdb调试hotspot的过程。后来我发现,使用gdb...

  • 【实践】gdb调试golang程序入门及gdb命令列表

    1. 摘要 本文讲解gdb调试GOLANG程序的入门配置,以及gdb命令详解备忘。 2. gdb调试go程序入门...

  • 用gdb调试代码

    title: 用gdb调试代码tags: gdbdate: 2017-08-09 15:09:22 gdb调试 开...

  • PWN入门到放弃

    Linux下的pwn常用到的工具有: gdb:Linux调试中必要用到的 gdb-peda:gdb方便调试的工具,...

  • 使用GDB调试C++程序

    GDB调试利器 GDB, the GNU Project debugger, allows you to see ...

网友评论

      本文标题:GDB调试

      本文链接:https://www.haomeiwen.com/subject/wholhxtx.html