【ARM Trace32(劳特巴赫) 使用介绍 13 -- Trace32 Var 变量篇】


请阅读【Trace32 ARM 专栏导读】


Trace32 查看变量值

  • 步骤1
    在这里插入图片描述
  • 步骤2
    在这里插入图片描述
  • 步骤3
    在这里插入图片描述
  • 步骤4
    在这里插入图片描述

查看结构体变量 str_t32 的值

struct t32_str {
    
    
        uint32_t        t32_val;
        uint32_t        t32_id;
        char*           t32_name;
};

static struct t32_str str_t32;

在这里插入图片描述

Var.view 查看变量值

如果知道变量地址的话也可以直接在命令行读取变量值,变量的地址可以在map 文件中找到:
在这里插入图片描述

在这里插入图片描述

Var.view 查看数据类型的大小

struct t32_str {
    
    
        uint32_t        t32_val;
        uint32_t        t32_id;
        char*           t32_name;
};

static struct t32_str str_t32;
static uint32_t g_t32;

命令Var.view sizeof(struct t32_str)
在这里插入图片描述

或者命令Var.view sizeof(tstr_t32)
在这里插入图片描述

Var.view 根据变量地址查看变量值

从符号表中找到变量的地址:

 128 00000000 trace32.c
 129 20038754 str_t32
 130 20038760 g_t32

查看结构图变量 str_t32 中各个成员的值:
在这里插入图片描述

查看结构图变量 g_t32 中各个成员的值:
在这里插入图片描述

地址类型判断

例如我们已经知道一个符号(可能是变量或者函数)的地址,怎么确定这个地址是一个变量还是一个函数呢?如果是变量的话,变量名是啥?变量定义的位置在哪?如果是函数,函数名是啥?函数定义的位置又在哪呢?

例如我们已经知道了一个符号的地址为 0x20038760 如下,通过 View -> Dump查看这个地址的内存信息,在地址的内容上右键 -> View Info:
在这里插入图片描述

函数地址类型判断:
已知函数drv_t32_init在map文件中的地址为0x20010c80,我们在trace32 中看看该地址的类型内容:

扫描二维码关注公众号,回复: 17195312 查看本文章
20010c80 drv_t32_init

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/sinat_32960911/article/details/134864538