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.

[参考译文] TMS320F280025C:步进时调试跳过 C 代码行。

Guru**** 2430620 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1016056/tms320f280025c-debug-skipping-line-of-c-code-when-stepping-into

器件型号:TMS320F280025C

在 TMS320280025C 微控制器上运行调试会话时、我会遇到奇怪的行为。 请参阅以下快照:

调试从第105行开始、即主循环的开括号。 在下一步中,它直接跳转到第111行,跳过第106行,该行包含整数 I 的声明。由于变量 i 在代码(第147行)中之后使用,因此当调试尝试执行该行时,它会发出警告:-"identifier not found:i"。 请指导解决此问题。

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

    您好、Asad、

    该项目似乎是在启用优化的情况下构建的。 这可能会导致由于编译器完成的优化而导致您看到的行为。 请将优化设置更改为"关闭"并重新构建您的应用程序、以便能够调试您的代码。

    谢谢、
    Ashwini

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

    非常感谢。 让我检查一下这个、然后返回给您。 但是、编译器忽略项目中使用的变量非常奇怪。 这是否意味着对于正确的构建、我根本不应该使用优化?  

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

    您好、Asad、

    如果可以使用硬件 CPU 寄存器进行计算以实现所需的优化、编译器可以消除变量。 如需了解更多相关信息、请访问:

    https://software-dl.ti.com/C2000/docs/optimization_guide/phase1/compiler_options.html#enable-debugging

    谢谢、

    Ashwini