请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
工具/软件:Code Composer Studio
您好,
我的代码基于C++,使用TI模拟器,我尝试在类函数内的ASM标签上设置断点,并且:
读取 本地变量地址
读取 私有类变量地址
我可以设置断点,但在尝试读取变量地址时,就好像它们不在范围内一样。
我的代码看起来像这样(编译时没有优化):
MyClass.h:
类MyClass
{
私人:
int m_var;
公共:
MyClass():m_VAR(0){}
作废钙化(void)
{
内部本地= 0;
本地++;
asm (".global dump\ndump:");//断点标签
本地++;
}
}
我的DSS脚本如下所示:
var script = ScriptingEnvironment.instance();
DS = script.getServer("DebugServer.1");
var DS;
ds.setConfig(...);//simulator
var debugSession0 = DS.openSession(".*_0");
debugSession0.target.connect();
debugSession0.memory.debugProgram(...);
var pcsave = debugSession0.symbol.getAddress("debugSession0.)"
debugSession0.breakpoint.add(pcsave);
debugSession0.target.run();
= debugSession0.gpsetfulfulfc.express
打印(pcsave)
var my_address = debugSession0.symbol.getAddress("local");
打印(my_address);
var my_address = debugSession0.symbol.getAddress("this->m_var");//也尝试了(*this).m_var,并使用.expression.evaluate
打印(my_address);
debugSession0.target.run();
}
大概调试器应该在断点停在标签处时看到这两个变量,它们应该在范围内,但我从„DSS收到“无法获取符号的地址”错误。
请帮我解决此问题吗?