Variables 如何在EclipseCDT上的ARMDS-5调试/命令视图中定义和设置变量
我正在使用ARMDS-5(v5.29.1)EclipseCDT调试一个嵌入式项目,尝试使用debugger命令行通过debug透视图中的Commands视图操纵内存位置 根据调试器自己的上下文帮助(命令行上的Ctrl+Space),以下命令应定义变量并设置其值:Variables 如何在EclipseCDT上的ARMDS-5调试/命令视图中定义和设置变量,variables,arm,gdb,eclipse-cdt,ds-5,Variables,Arm,Gdb,Eclipse Cdt,Ds 5,我正在使用ARMDS-5(v5.29.1)EclipseCDT调试一个嵌入式项目,尝试使用debugger命令行通过debug透视图中的Commands视图操纵内存位置 根据调试器自己的上下文帮助(命令行上的Ctrl+Space),以下命令应定义变量并设置其值: set variable INTR_MASK=4 但是,在键入此项时,我得到一个错误: ERROR(EXP8): Could not find the symbol "INTR_MASK" 如何定义和设置变量? 以下是帮助说明,以
set variable INTR_MASK=4
但是,在键入此项时,我得到一个错误:
ERROR(EXP8): Could not find the symbol "INTR_MASK"
如何定义和设置变量?
以下是帮助说明,以供参考:
set variable
------------
Evaluates an expression and assigns the result to a variable, register or
memory.
Syntax
set [variable] <expression>
Where:
<expression>
Specifies an expression and assigns the result to a variable, register, or
memory address.
Example
set variable myVar=10 # Assign 10 to variable myVar
set variable $PC=0x8000 # Assign address 0x8000 to
# PC register
set variable $CPSR.N=0 # Clear N bit
set variable (*(int*)0x8000)=1 # Assign 1 to address 0x8000
set variable *0x8000=1 # Assign 1 to address 0x8000
set variable strcpy((char*)0x8000,"My String") # Assign string to address 0x8000
set variable memcpy(void*)0x8000,{10,20,30,40},4) # Assign array to address 0x8000
设置变量
------------
计算表达式并将结果赋给变量、寄存器或
记忆。
语法
设置[变量]
哪里:
指定表达式并将结果赋给变量、寄存器或
内存地址。
例子
设置变量myVar=10#将10分配给变量myVar
设置变量$PC=0x8000#将地址0x8000分配给
#PC寄存器
设置变量$CPSR.N=0#清除N位
设置变量(*(int*)0x8000)=1#将1分配给地址0x8000
设置变量*0x8000=1#将1分配给地址0x8000
设置变量strcpy((char*)0x8000,“我的字符串”)#将字符串分配给地址0x8000
设置变量memcpy(void*)0x8000,{10,20,30,40},4)#将数组分配给地址0x8000
在传达了ARM支持后,我们发现实现这一目标的正确方法如下:
newvar $INTR_MASK = (unsigned int)(0x00000004)
set variable $INTR_MASK = (unsigned int)($INTR_MASK + 0x00080000)
。。。与此相关的好处是,这些符号也可以在Expressions视图中使用,因此没有更明确的地址,而是有意义的名称