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:断点在 DSS 脚本中无法按预期工作

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/943455/ccs-breakpoint-not-working-as-expected-in-dss-script

工具/软件:Code Composer Studio

大家好、

我无法使用调试服务器脚本[DSS]在代码中设置断点。 它永远不会命中断点、并继续在无限循环中执行函数。

我也没有从 DSS 收到任何错误或警告。

让我知道如何解决这个问题。

代码片段:-

main.cpp

25 while (1)
26{
27 func();
28. 断点#39
} 



dss.py

BP = debugSession.breakpoint.add(file_path,28
debugSession.target.run()

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

    您好!

    您是否生成了详细日志并检查了错误? 如果您执行了此操作、但未发现错误、请尝试从脚本控制台运行脚本、以查看是否一切正常(如果断点已设置等)。 您可能需要修改脚本、以便它不会在脚本执行后关闭调试器。

    https://software-dl.ti.com/ccs/esd/documents/users_guide/sdto_dss_handbook.html#scripting-console

    谢谢

    Ki

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

    您好 Ki、

    只有当我在 while 循环的末尾设置断点时、断点才起作用。 是否需要此行为?

    在硬编码行号处添加断点对我来说并不理想。

    在文档中、我发现[使用地址和符号]还有另外两种方法添加断点。 您能否举一个示例、在这里我可以使用地址设置断点?

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

    [引用 user="Parameswaran L">只有在我在 while 循环结束时设置断点时、断点才起作用。 是否需要此行为?

    视情况而定。 对于具有某种优化的代码、这不会是 uncommmon。

    [引用 user="Parameswaran L"]在文档中,我发现[使用地址和符号]还有两种方法可以添加断点。 您能否举一个示例、在这里我可以使用地址设置断点?

    按地址设置非常简单、只需将地址作为唯一参数传入

    bp =debugSession.breakpoint.add(address);

    谢谢

    Ki

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

    您好 Ki、

    当我使用函数的地址添加断点时、该断点会在调用函数本身之前命中。 这是预期行为吗?

    因此、我在实际函数之后创建了一个虚拟函数来达到断点、它正在工作。

    如果我使用变量的地址设置断点、何时设置断点? 在变量初始化或声明期间?

    一个不相关的问题是、如何在运行目标代码时向主函数发送参数  debugSession.target.run()?

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

    [引用 user="Parameswaran L"]

    当我使用函数的地址添加断点时、该断点会在调用函数本身之前命中。 这是预期行为吗?

    因此、我在实际函数之后创建了一个虚拟函数来达到断点、它正在工作。

    如果我使用变量的地址设置断点、何时设置断点? 在变量初始化或声明期间?

    [/报价]

    正如我在上一篇文章中提到的-这取决于具体情况。 这里有几个因素、包括优化设置。 为了安全起见、最好进行实验以确认您的案例

    [引用 user="Parameswaran L"]一个不相关的问题,如何在使用 debugSession.target.run()?运行目标代码时向主函数发送参数

    您需要将参数数组作为参数传递给 loadProgram API:

    有关详细信息、请参阅 DSS API 文档:

    public void loadProgram (java.lang.String sFileName、
    java.lang.Object[] args)
    抛出 ScriptingException

    将来、请为一个不相关的问题创建一个新主题。

    谢谢

    Ki

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

    您好 Ki、

    感谢您对问题的快速回答。

    从现在开始、我将为不相关的问题创建一个新主题。