(gdb) info line *0x33fd12b0
Line 49 of “/usr/include/c++/4.8.2/ext/atomicity.h” starts at address 0x33fd12ad <_PATH::~_PATH()+349>
and ends at 0x33fd12b4 <_PATH::~_PATH()+356>.
曾经碰到过上面一句,但是从代码里看就是不知道这个是怎么调用到的atomicity.h 的代码;思索良久没有找到方法,后来无意看到一个命令,可以dump出来如下的函数关系图:

__exchange_and_add
/usr/include/c++/4.8.2/ext/atomicity.h:49
__exchange_and_add_dispatch
/usr/include/c++/4.8.2/ext/atomicity.h:82
std::string::_Rep::_M_dispose(std::allocator const&)
/usr/include/c++/4.8.2/bits/basic_string.h:246
~basic_string
/usr/include/c++/4.8.2/bits/basic_string.h:539
_PATH::~_PATH()
这就很明显了,这个就是再析构时,也析构了一个string对象,一步步调用到了atomicity.h里的__exchange_and_add函数。

后来找到了一个方法,其实就是:

addr2line -C -f -i -e ng.elf 0x33fd12b0
但是为什么gdb不能而addr2line 可以呢?是什么配置导致的吗?
其实gdb已经够可以的了可以看到原子操作。

0x0000000033fd12ad <+349>: or $0xffffffff,%eax
0x0000000033fd12b0 <+352>: lock xadd %eax,(%rdx)
0x0000000033fd12b4 <+356>: test %eax,%eax

gdb: 疑惑1:info symbol为何可以看到atomicity.h的代码,但是代码里确实没有看到相关的代码相关推荐

  1. LLVM Clang前端编译与调试

    LLVM Clang前端编译与调试 iOS 关于编译 o 一.Objective-C 编译过程 o 为什么需要重新编译? o 编译步骤 o 二.编译步骤的详细说明 o 1.预处理 o 2.编译 o 词 ...

  2. ARM汇编杂项伪指令

    杂项伪指令 杂项伪指令在汇编编程设计较为常用,如段定义伪指令,入口点设置伪指令,包含文件伪指令,标号导出或引入声明等,该类伪指令如下:          边界对齐: ALIGN.          段 ...

  3. 《嵌入式》复习资料公共版

    嵌入式 期末复习资料,把word文件摘录到博客中.许多内容很有用. 第一章 根据IEEE(国际电气和电子工程师协会)的定义: v  嵌入式系统是"用于控制.监视或者辅助某个设备.机器或工厂运 ...

  4. AliOS Things的启动过程分析(一)

    AliOS Things的启动过程分析(一) 在本篇文章中,我们以developerkit开发板为例,介绍AliOS Things的启动过程.AliOS Things支持多种工具链进行编译链接的方式生 ...

  5. 数学公式编辑器:MathType 7 for mac

    如果您想炫耀一款C++语言编程软件的话,JetBrains CLion 2019 for Mac绝对是您的最佳选择,这款CLion2019破解版功能非常强大,已经完美汉化,让您拥有最好的编程工作体验! ...

  6. 设计模式之美总结(设计原则篇)

    title: 设计模式之美总结(设计原则篇) date: 2022-10-27 17:31:42 tags: 设计模式 categories: 技术书籍及课程 cover: https://cover ...

  7. linux 汇编 preserve8,ARM汇编伪指令

    分类: LINUX 2009-10-21 16:39:09 ARM 汇编程序的由机器指令,伪指令和宏指令组成.伪指令不像机器指令那样在处理器运行期间由机器执行,而是汇编程序对源程序汇编期间由汇编程序处 ...

  8. STM32F103C8T6 移植 μC/OS-ii Keil(二)

    第一篇我代码的一些复制粘贴,下面就需要进入到工程里面去更改一些东西. 启动文件:startup_stm32f10x_md.s找到下面的函数,更改 更改为: 相应的这个文件下面还有,需要更改: Pend ...

  9. iOS crash 问题分析汇总

    在这里插入图片描述 iOS crash 问题分析 iOS crash 常用分析工具 IOS 崩溃日志 iOS crash 原因分析 1.调用悬浮指针 2.数组越界访问 3.调用了未实现的方法 4.调用 ...

最新文章

  1. 齐鲁工业大学计算机读研,齐鲁工业大学考研难吗
  2. 用Leangoo敏捷开发工具如何管理用户故事?
  3. 前后端项目中跨域问题
  4. 一个路由再接另一个路由,让和别人合拉的一个网线可以多台电脑一起使用
  5. 发年终奖了,创了新高
  6. 两种方式设置单元格的下划线
  7. 高性能图像放大算法——waifu2x方法
  8. linux samba 拒绝访问,Samba拒绝访问的解决方式
  9. 网页编程----HTML网页编程
  10. Elasticsearch7.x搜索实战
  11. 企业微信之客户联系配置及使用
  12. 【P5850】calc 加强版(生成函数)(多项式)
  13. FFMPEG入门资料---001---介绍和参数说明
  14. 【数学】均匀分布生成其他分布的方法
  15. 一文弄懂Batch Norm / Layer Norm / Instance Norm / Group Norm 归一化方法
  16. Windows服务简介(转)
  17. 前端学习—HTML5
  18. 购物网站(内容页面)
  19. Java经典300例-基础篇-001:Hello Kitty
  20. 使用AFNetworking进行网络状态的监测

热门文章

  1. win10快捷键及管理用户
  2. 世上本没有路,只是走的人多了就成了路 2016我的年终总结
  3. tomcat服务器cpu占用率居高不下的原因分析及解决
  4. 神经网络的激活函数sigmoid RELU
  5. <selectKey>标签的作用
  6. iNFTnews | 腾讯数字藏品板块大撤退,意味着什么?
  7. mysql查询语句,子查询的几种方式
  8. 史上最全40道Dubbo面试题及答案
  9. [iOS微博项目 - 3.2] - 发送微博
  10. VS+openCV 之操作像素(下)实现简单的图像运算、图像重映射