gdb 调试 TuMediaService
gdb 调试 TuMediaService
github地址
起因
- 首先需要有
armgdb
环境 - 运行
./armgdb ./TuMediaService
进入gdb
模式 b hi3531_trcod_interface.cc:98
打断点r
运行程序print this->vdec_config_path_
打印关键值
在这里我们关注的值已经被修改,由于程序中没有刻意对这一块内存进行修改,所以一开始怀疑是不是其他线程改写的,当把其他线程都禁掉,在单线程的情况下跑,还是存在这个问题.由于这边是基类的最后一个变量,分析基类和派生类的代码后,大致定位在这里:
问题可能出现在最后一行的数组,当索引为负数才可能出现向前面内存写入的情况,而且多处地方给数组内部赋值为 -1 ,和错误相符合,但是在所有地方都加了判断和保护,打印出来也没有异常,而且
进一步定位是在这里的 for
循环出了问题,执行完 for
循环,值发生了变化,刚开始以为是最后一次产生了问题,但是单步调试下,在 124 次,关注值发生了改变。查看了这个数组中的值是一个结构体,会不会问题出现在这个结构体,最后发现原来是有人更新了这个结构体却没有上传导致,数据结构发生了变化,这个问题还是值得谨记的。以后要避免这类问题,库和头文件的上传和下载尽量使用脚本,不要手动拷贝。
gdb 调试 TuMediaService相关推荐
- 使用 GDB 调试多进程程序
使用 GDB 调试多进程程序 来源 https://www.ibm.com/developerworks/cn/linux/l-cn-gdbmp/index.html GDB 是 linux 系统上常 ...
- GDB调试--以汇编语言为例
#rpm -qa |grep gdb 下载: 安装 #tar -zxvf #./configure #make 使用GDB 以汇编语言调试为例 汇编语言实现CPUID指令 CPUID cpuid是I ...
- GDB 调试 Mysql 实战(二)GDB 调试打印
背景 在 https://mengkang.net/1328.html 实验中,我们通过optimizer_trace发现group by会使用intermediate_tmp_table,而且里面的 ...
- 用gdb调试mpi程序的一些心得
Linux下MPI (Message Passage Interface) 的程序不太好调试,在windows下vs2005以上的IDE有集成的简便MPI调试工具,没有用过,有兴趣的可以试验一下.下面 ...
- gdb php-fpm,使用 gdb 调试 php-fpm 异常错误
相关资源下载GDB简介 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.如果你是在 UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能. 问题 ...
- Linux基础 30分钟GDB调试快速突破
引言 Linus心灵鸡汤 在*nix开发中有道卡叫gdb调试,不管你怎么搞. 它依然在那丝毫不会松动.今天致敬一个 活着的传奇 Linus Torvalds Unix 始于上个世纪60年代,在70年代 ...
- SLAM工具|GDB调试从入门到精通
前言 对于windows平台下,VS下调试简单又方便,那么在linux系统下,该如何进行代码的调试呢? gdb是linux下非常好用的一个调试工具,虽然它是命令行模式的调试工具,但是它的功能非常强大, ...
- gdb调试 print打印不出变量值或者不准确
编译选项加了 -O,即便是-O0,也不能正常显示,需要加上-gstabs+这个编译选项, -gdwarf-2这个编译选项会与-gstabs+冲突,去掉-gstabs+,只保留-gdwarf-2选项可以 ...
- 比较全面的gdb调试命令
用GDB调试程序 GDB是一个强大的命令行调试工具.大家知道命令行的强大就是在于,其可以形成执行序 列,形成脚本.UNIX下的软件全是命令行的,这给程序开发提代供了极大的便利,命令行 软件的优势在于 ...
最新文章
- java各种包的用途
- 线下活动 | 揭秘大数据背后的京东虚拟平台(免费报名中)
- JAVA 串口编程 (三)
- 数据量太大?用数据库水平切分搞定!
- WCF并发连接数的问题
- BZOJ4372 烁烁的游戏(动态点分治+线段树)
- win8.1使用及优化
- 第二季-专题17-触摸屏显身手
- 自抗扰控制(ADRC)仿真系统(matlab/simulink)的搭建
- 2022年某市新型智慧城市一网统管顶层设计方案(WORD)
- C. Anton and Fairy Tale
- Unity Obi插件修改到支持URP
- iOS home键直接退出
- 一个人生活,如何摆脱孤独提升幸福感?
- 安全合规/GDPR--27--我们通过了GDPR合规认证
- SOA、SOI和SOE
- l28n和开发版_*** am335x开发板的疑问以及解答
- 抖音信号干扰特效怎么做?手把手教你AE制作
- 登录用户信息存session中
- VMware vRealize Automation 8.2安装
热门文章
- 微信公众平台网站开发JS_SDK遇到的bug——wx.config注册提示成功,但部分接口注册失败问题
- linux 挂在iso文件,linux 挂载iso文件安装文件 与 网络yum的搭建
- java拉丁正方形_LeetCode JAVA解题---824. 山羊拉丁文
- leetcode261. 以图判树
- UNIX(进程间通信):16深入理解Socket
- 《Java8实战》笔记(12):新的日期和时间API
- LInux学习笔记(四)-----实操排雷
- live555 接收rtsp视频流流程分析
- 写博客的好处,专家告诉你
- gcc编译流程及中间表示层RTL的探索