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.

[参考译文] CCS/MSP430FR2433:调试和创建优化代码

Guru**** 2551110 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/956434/ccs-msp430fr2433-debugging-and-creating-optimized-code

器件型号:MSP430FR2433

工具/软件:Code Composer Studio

当编译器优化关闭时、我可以使用调试模式单步执行每条指令、但当优化打开时、我无法调试代码、因为调试器将跳过指令。 它们是否是使用优化编译器的正确方法? 例如、我是否应该首先在没有优化的情况下开发代码、然后在代码没有错误的情况下对其进行优化? 这是使用优化的正确方法吗?

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

    您好!

    请参阅以下文章:

    https://dev.ti.com/tirex/explore/node?node=AEm7LJjS34iFPa5fpT7ttQ__FUz-xrs__LATEST

    谢谢

    Ki

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

    感谢您提供了一个链接来回答我的问题。 也就是说、选择程序最有效运行的优化级别、然后根据需要降低优化级别、直到我们能够有效地使用调试器。 听起来像是客户和优化器之间的战斗。

    您或任何其他人对此有不同的看法吗?  

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

    这就是优化器所做的。例如、如果您有:

    X = 10;

    x *= 10;

    优化器可能会将其更改为:

    x = 10*10;//或偶数 x = 100;

    x=10语句不再存在、因此优化器跳过 x = 10也不会感到意外。

    最好的计划是在没有优化的情况下完成大部分调试、然后在开发周期的末尾将其打开。

    此时、只需意识到编译器可能会跳过一些现在不存在的代码并期望它。

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

    谢谢您 Keith。 您的评论是真正的帮助。  你证实了我也对这个问题的看法。

    [引用用户="Keith Barkley"]

    最好的计划是在没有优化的情况下完成大部分调试、然后在开发周期的末尾将其打开。

    [/报价]