This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] MSP432E401Y:在调试脚本服务的作用域内访问局部变量

Guru**** 2549910 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1010789/msp432e401y-accessing-local-variables-when-in-scope-with-debug-scripting-service

器件型号:MSP432E401Y

我正在使用 DSS 脚本自动测试 C 程序。  在 main()中,我有一些局部变量。  这些变量是在调用函数之前设置的。  我可以在函数上设置断点并在调用之前停止、但我无法使用 DSS 获取任何本地变量的地址。

示例:

int main()

const uint32_t  IsValid = 0x1234U;

(笑声)

function_where i_set_a_breakpoint();

我尝试过的 DSS

var add = debugSession.expression.evaluate ("IsValid");

我从该调用中得到错误:

严重:未找到标识符:IsValid
严重:评估"IsValid"时出错:找不到标识符:IsValid

 我设置函数断点、以便局部变量处于调试器的作用域中(当我使用 CCS 进行调试时、它位于"Variables"选项卡中)。  在变量 socpe 中的断点处、如何检索 DSS 中 IsValid 变量的值?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    尝试将 常量声明 为全局常量、并查看错误是否消失。

    CCS/TM4C123GH6PM:在观察窗口中找不到标识符

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好、James、对于一个使其成为全局变量的常量来说不是一个问题、但总的来说、我要自动化的许多测试都是不常量的局部变量。  抱歉、我前面没有提供更好的示例。  是否有任何方法来处理非全局变量?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    使用 CCS 10.0.0.00010,我刚刚尝试了以下次要示例,DSS 能够评估局部变量 IsValid:

    CCS 调试器变量视图是否能够评估 IsValid?

    根据编译器使用的优化设置、局部变量可进行优化。