gdb: 疑惑1:info symbol为何可以看到atomicity.h的代码,但是代码里确实没有看到相关的代码
(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的代码,但是代码里确实没有看到相关的代码相关推荐
- LLVM Clang前端编译与调试
LLVM Clang前端编译与调试 iOS 关于编译 o 一.Objective-C 编译过程 o 为什么需要重新编译? o 编译步骤 o 二.编译步骤的详细说明 o 1.预处理 o 2.编译 o 词 ...
- ARM汇编杂项伪指令
杂项伪指令 杂项伪指令在汇编编程设计较为常用,如段定义伪指令,入口点设置伪指令,包含文件伪指令,标号导出或引入声明等,该类伪指令如下: 边界对齐: ALIGN. 段 ...
- 《嵌入式》复习资料公共版
嵌入式 期末复习资料,把word文件摘录到博客中.许多内容很有用. 第一章 根据IEEE(国际电气和电子工程师协会)的定义: v 嵌入式系统是"用于控制.监视或者辅助某个设备.机器或工厂运 ...
- AliOS Things的启动过程分析(一)
AliOS Things的启动过程分析(一) 在本篇文章中,我们以developerkit开发板为例,介绍AliOS Things的启动过程.AliOS Things支持多种工具链进行编译链接的方式生 ...
- 数学公式编辑器:MathType 7 for mac
如果您想炫耀一款C++语言编程软件的话,JetBrains CLion 2019 for Mac绝对是您的最佳选择,这款CLion2019破解版功能非常强大,已经完美汉化,让您拥有最好的编程工作体验! ...
- 设计模式之美总结(设计原则篇)
title: 设计模式之美总结(设计原则篇) date: 2022-10-27 17:31:42 tags: 设计模式 categories: 技术书籍及课程 cover: https://cover ...
- linux 汇编 preserve8,ARM汇编伪指令
分类: LINUX 2009-10-21 16:39:09 ARM 汇编程序的由机器指令,伪指令和宏指令组成.伪指令不像机器指令那样在处理器运行期间由机器执行,而是汇编程序对源程序汇编期间由汇编程序处 ...
- STM32F103C8T6 移植 μC/OS-ii Keil(二)
第一篇我代码的一些复制粘贴,下面就需要进入到工程里面去更改一些东西. 启动文件:startup_stm32f10x_md.s找到下面的函数,更改 更改为: 相应的这个文件下面还有,需要更改: Pend ...
- iOS crash 问题分析汇总
在这里插入图片描述 iOS crash 问题分析 iOS crash 常用分析工具 IOS 崩溃日志 iOS crash 原因分析 1.调用悬浮指针 2.数组越界访问 3.调用了未实现的方法 4.调用 ...
最新文章
- 齐鲁工业大学计算机读研,齐鲁工业大学考研难吗
- 用Leangoo敏捷开发工具如何管理用户故事?
- 前后端项目中跨域问题
- 一个路由再接另一个路由,让和别人合拉的一个网线可以多台电脑一起使用
- 发年终奖了,创了新高
- 两种方式设置单元格的下划线
- 高性能图像放大算法——waifu2x方法
- linux samba 拒绝访问,Samba拒绝访问的解决方式
- 网页编程----HTML网页编程
- Elasticsearch7.x搜索实战
- 企业微信之客户联系配置及使用
- 【P5850】calc 加强版(生成函数)(多项式)
- FFMPEG入门资料---001---介绍和参数说明
- 【数学】均匀分布生成其他分布的方法
- 一文弄懂Batch Norm / Layer Norm / Instance Norm / Group Norm 归一化方法
- Windows服务简介(转)
- 前端学习—HTML5
- 购物网站(内容页面)
- Java经典300例-基础篇-001:Hello Kitty
- 使用AFNetworking进行网络状态的监测