Advertisement

gdb程序输出各成员偏移量

阅读量:

缘起

在当前的项目开发过程中,当进行功能实现时,发现某结构体的体积异常庞大,尚未达到30KB便已显得臃肿,因此希望确定该结构中具体是哪个成员变量导致了空间占用过高。此时想到可以借助gdb工具进行分析,然而实际操作过程并未如预期般顺利,接下来将详细说明整个经历。

需求

以下为所定义的数据结构

复制代码
    struct A{
        int a;
        int b;
        int c;
    };
    
    
      
      
      
      
      
    

在gdb中,输出以下内容可能更为合适,其考虑方式相对较为简明。

复制代码
    struct A
    	a 的大小
    	b 的大小
    	c 的大小
    
    
      
      
      
      
    

初步测试

通过gdb对进程进行调试追踪,发现仅能输出结构体成员信息,可参考这里相关内容,同时也可以查阅这里以获得更深入的理解。此前虽有使用经验,但并未深入思考该方面的问题,然而这些内容仍无法满足当前

全部评论 (0)

还没有任何评论哟~