首页 > 其他分享 >GCC优化debug

GCC优化debug

时间:2024-02-25 22:57:02浏览次数:19  
标签:GCC 代码 gcc 问题 debug 优化 等级

GCC编译器提供了多种优化选项,可以帮助改善代码的性能和效率,但当优化等级设置不对时,会导致coredump问题,本文对个人理解和网络上对GCC总结比较完善的文档做个记录备份,侵权联删

GCC优化出现的问题个人分析思路:

1、通过addr2line、nm等方法分析出现堆栈对应的代码段,分析代码逻辑,若代码逻辑正常则可考虑是否是GCC优化带来的问题

2、反汇编查看汇编代码,从汇编代码分析是否代码逻辑存在问题

3、尝试降低GCC优化等级,查看是否仍然出现问题

4、若修改GCC优化等级之后不出现coredump,则可确定问题是GCC优化所致

5、对比修改前后GCC优化等级差异和优化前后汇编差异,确认GCC优化项

 

gcc编译优化-O0 -O1 -O2 -O3 -OS解析

gcc优化问题

gcc优化引发的一个bug分析

 

 

标签:GCC,代码,gcc,问题,debug,优化,等级
From: https://www.cnblogs.com/lethe1203/p/18033280

相关文章

  • 第2单 - 实验 debug 命令
         编写命令 以汇编方式向内存中写入数据 A命令 向0010:0000 地址写入汇编  U命令查看刚录入的命令 查看内存中的汇编语言 U命令   修改CS,IP,到新录入的程序   T命令 执行  2.    3. Dff......
  • 10个可优化的C#代码技巧
    在编写C#代码时,优化代码不仅可以提高程序的性能,还可以使代码更加清晰、易于维护和扩展。下面将介绍10个可优化的C#代码技巧,帮助你编写出更高效、更优雅的代码。1.使用值类型而非引用类型当定义一个变量时,如果可能的话,尽量使用值类型(如int、double、struct等)而非引用类型(如class......
  • 深度学习-卷积神经网络-dropout-图像增强-优化器-45
    目录1.dropout2.数据增强3.优化器1.dropout使用L1和L2正则去限制神经网络连接的weights权重在深度学习中,最流行的正则化技术,它被证明非常成功,即使在顶尖水准的神经网络中也可以带来1%到2%的准确度提升,这可能乍听起来不是特别多,但是如果模型已经有了95%的准确率,获......
  • 贝叶斯优化
    本文通过结合如下论文以及blog:1、贝叶斯优化研究综述:https://doi.org/10.13328/j.cnki.jos.005607.2、高斯回归可视化:https://jgoertler.com/visual-exploration-gaussian-processes/3、贝叶斯优化:http://arxiv.org/abs/1012.2599对贝叶斯优化进行较为全面的介绍,以及部分代......
  • python 内存优化
    Python 内存管理层次:众所周知,计算机硬件资源由操作系统负责管理,内存资源也不例外。应用程序通过 系统调用 向操作系统申请内存,而 C 库函数则进一步将系统调用封装成通用的 内存分配器 ,并提供了 malloc 系列函数。C 库函数实现的通用目的内存管理器是一个重要......
  • golang io优化
    如果想兼顾开发效率,又能保证高并发,协程就是最好的选择。它可以在保持异步化运行机制的同时,用同步方式写代码(goroutine-per-connection),这在实现高并发的同时,缩短了开发周期,是高性能服务未来的发展方向。CPU和IO设备是不同的设备,能并行运行。合理调度程序,充分利用硬件,就能跑出......
  • golang性能优化
    性能优化流程理清待优化代码的常用逻辑与场景根据实际场景编写压测用例使用pprof或者火焰图等工具取得数据找到热点代码重点优化Profilingpprof是用于可视化和分析性能分析数据的工具。为什么pprof可以帮助我们分析Go程序性能呢?因为它可以采集程序运行时数据:比如说协程栈,这样服......
  • 数论分块性质优化DP状态
    6311.mobitel给定一个r行s列的矩阵,每个格子里都有一个正整数。问如果从左上角走到右下角,且每次只能向右或向下走到相邻格子,那么使得路径上所有数的乘积不小于n的路径有多少条?对于100%的数据,1<=r,s<=300,1<=n<=10^6,矩阵中的数不超过10^6。so,一个普通的思想就是设f[......
  • 关于矩阵乘法优化
    3373.Line、通过简化状态,我们可以得到\(f_{i,j,a,b}\)表示到第i列,有j个空列,有a行为1,b行为10,n-a-b为100技巧:注意特殊条件,如行的顺序与方案无关,还有一些原状态的值域很小的可以特殊处理(所以可以把多维合成n-1维,n为值域,如上题为3)然后矩阵乘法,注意矩阵乘法一般只优化一维,然后其它......
  • 单调栈优化DP
    当有形如\(f_i=min_{j=0}^{l(i)}f_j+w转移代价\)我们就可以使用单调栈优化DP为什么不用单调队列???当有形如\(f_i=min_{j=l(i)}^{i-1}f_j+w转移代价\)我们就可以使用单调队列优化DP至于为毛,就可以从它的工作原理上去分析6305.最小值\(dp_i=min_{j=0}^{i-1}g_j+f(min_{x=j+1......