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/CODECOMPOSER:DSS 如何从断点恢复

Guru**** 2595770 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/762428/ccs-codecomposer-dss-how-to-resume-from-a-breakpoint

器件型号:CODECOMPOSER

工具/软件:Code Composer Studio

我使用 Debug Server Scripting API 设置断点,并使用 target.run()等待断点被命中。 工作正常。 如何从该状态恢复?


谢谢

Peter

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Peter:
    是否希望在达到断点后恢复目标? 您可以通过再次调用 target.run() API 来恢复目标。

    谢谢
    Ki
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Ki、是的、确实可行、但有一个问题:如果我继续运行、我的客户端应用程序(用 Java 编写)将被阻止。 由于目标程序永远不会退出、我的客户端将永远阻止。 我尝试使用 runASYNC()恢复,但客户端完成得太快,断点后的代码不再执行。

    当然、我可以在客户端代码中使用一些超时机制、但我想知道是否有更自然的方法来执行以下操作(自动测试过程):

    -客户端设置断点并以阻塞等待(run))启动目标
    -目标运行、直至达到断点
    -客户端从目标检索数据,然后恢复目标程序的执行
    -目标程序继续不停地运行(while (1))
    -客户端终止。 请注意,如果我继续使用 run(),则不能直接执行此操作(例如,除非我在单独的线程中运行一些额外的代码)

    谢谢
    Peter
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我可以想到的两个选项(在我的脑海中)是:
    -使用超时
    -使用 runAsync、然后使用类似 Thread.Sleep 的内容在客户端继续之前延迟特定的时间(为断点后执行代码提供目标时间)

    我更喜欢第二个选项、并在 DSS 脚本中使用了这一选项。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好

    (笑声) Java 8的另一个选项是具有内置超时机制的 CompletableFuture。

    总之、底线是:DSS API 中没有功能、必须在客户端代码中完成。

    谢谢

    Peter