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:Debug Scripting Server Thread 是否安全?

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/735473/ccs-is-debug-scripting-server-thread-safe

工具/软件:Code Composer Studio

我看到 DSS 发生了一些崩溃、我想知道它是否与从多线程应用程序访问 DSS 调用有关。 我使用以下调用打开了详细日志记录:

com.ti.ccstudio.scripting.environment.ScriptingEnvironment.instance().traceBegin("myfilename_"+时间戳+".log");
com.ti.ccstudio.scripting.environment.ScriptingEnvironment.instance().traceSetFileLevel(com.ti.ccstudio.scripting.environment.TraceLevel.ALL);

当事情发生故障时,日志文件突然结束,而没有关闭的日志标记。 详细的日志消息并非都以相同的顺序显示(尽管大多数消息都是这样)、我们也看到序列号在文件中按不同的顺序记录。

我们正在调试具有多个内核的(新)器件。 我们使用 runAsync()从主线程启动所有内核,然后为每个内核设置一个 halt 监控线程。 HALT-Monitor 线程在调试会话上为各自的内核调用 waitForHalt()。 当一个内核暂停时、其监控线程会向主线程发送信号、而主线程会暂停其他内核、并调用其他内核的调试会话中的 halt ()。 我们这样做是因为我们不知道哪个内核将首先停止、并且我们希望在一个内核到达断点后停止所有内核。

总之,我正在寻找的确认是,通过主线程的 runAsync ()独立启动多个内核,然后从多个线程调用 waitForHalt (),然后在主线程的所有内核上调用 halt (),对于 DSS 来说是安全的。

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Erik、
    您是否从 Java 应用程序调用 DSS?

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

    是的、我们在 Java 应用程序中使用 DSS。

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

    [引用 user="Erik Shreve"]总之,我希望确认通过主线程的 runAsync ()独立启动多个内核,然后从多个线程调用 waitForHalt (),然后在主线程的所有内核上调用 halt ()与 DSS 安全相关。

    是的、在与少数调试器专家进行跟进后、我们认为应该可以。

    您使用的是什么器件? 听起来、如果您的器件支持全局断点、全局断点将是最佳解决方案。

    谢谢

    Ki

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

    感谢您的回答。 我将查找导致我们所看到问题的其他潜在原因。

    是的、如果可以、我会使用全局断点、但其中一个内核不支持该断点。

    谢谢!