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.

[参考译文] 调试服务器脚本(DSS)通用加载程序和#39;loadti#39;缓存已加载对象

Guru**** 2547920 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/994000/debug-server-scripting-dss-generic-loader-loadti-caching-of-loaded-objects

您好!
使用 DSS (调试服务器脚本)在 Linux 环境中执行通用加载程序"loadti"单元测试。
连续的自动化测试按顺序执行。

Java“分段错误”通常发生在某个位置,主要是在前面加载了几个“loadti”的测试执行良好之后。
一旦发生故障、它将保留在同一测试中(即使在测试重复时也是如此)。

  • testEnv.outFiles:_____.out
    正在加载__.out
    编号
    # Java Runtime Environment 检测到意外错误:
    编号
    # SIGBUS (0x7)、PC=0xf7e484fc、pid=469445、tid=2916301680
    编号
    # Java VM:Java Hotspot (TM) Server VM (11.3-B02混合模式 Linux-x86)
    #有问题的帧:
    # C [libc.so.6+0x1384fc]

正在使用的 Java 是 CCS5.5附带的 Java: Java 版本"1.6.0_13"

我们已经发现导致这种行为的原因:

  • 'loadti'将加载的.out 文件缓存在以下文件夹中:/dev/shm
    执行测试并终止"loadtti"后、大多数缓存对象仍保留为
    'ofs_outname.out_53394'
  • 随着时间的推移,此数量的数据变得太大,从而导致 Java 错误。
    手动清空此文件夹会有所帮助。

最后一个问题是:

  • 如何控制文件夹/dev/shm 中的内容发生什么情况?

谢谢。

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

    您好!

    这很有趣,我以前没有看到过这个问题。 我也看不到在/dev/shm 目录中缓存的*out 文件。 但是、我使用的是更新版的 CCS。 我需要尝试使用 CCSV5.5。

    此外、您使用的是什么 Linux 发行版(和版本)?

    谢谢

    Ki

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

    您好!
    此计算机(测试服务器)上出现问题:

    • Red Hat Ent。 Linux Server 6.10版(圣地亚哥)

    由于 Docker 容器中的 DSS 使用(随着对象垃圾的增加)耗尽了内存。
    在 /dev/shm 中始终注意对象垃圾的大小(通过清空垃圾或其他垃圾)是很烦人的。

    顺便说一下、DSS 也用于各种工作站上:

    • Red Hat Ent。 Linux Server 版本6.40或更高版本7.

    此处的工作站不容易内存不足,因此不会出现 Java“分段错误”。 但是、DSS 对象回收站也可以在文件夹/dev/shm 中找到。 回收站文件(缓存对象)根据相同的模式命名:
    OFS_ .out_53394

    我认为问题与操作系统(Linux)无关、但背后有 DSS Java 脚本。

    谢谢、

    姆拉德内斯

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

    我在安装 CCSv5.5的情况下运行 loadti 时会看到该行为。 它看起来与 CCS 在早期版本中所做的相同、但后来有所变化。 我需要了解是否有方法在 CCSv5中将其关闭。 但请注意、CCSv5.5非常旧且不受支持。 您仍需要使用此版本的原因是什么?

    谢谢

    Ki

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

    以下是仍然使用 CCSv5.5的强烈原因:
    它是(精确到周期)的 DSP 仿真器支持随附的最后一个 CCS 版本。
    谢谢、
    姆拉德内斯

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

    似乎问题并非特定于脚本编写(或 loadti)、而是在 CCS 调试器加载程序(无论是通过脚本编写还是 IDE)时发生。 CCS 版本6.x 或更高版本也不会出现这种情况。 我在 CCSv5中看不到关闭此行为的选项。 作为一种简单的权变措施、我建议创建一个小脚本来清除文件夹、然后调用 loadti.sh)。 这应该具有相同的效果。

    Ki

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

    DSS 使用(Bash)脚本启动、如下所示:
    $DDS_PATH/dss.sh $LOADTI_PATH/main.js ...

    手动应用一个小的(后处理)清理脚本正是我目前所做的。
    我认为 DSS 脚本本身(或其选项)可能会控制这种情况。

    非常感谢您查看此内容!
    姆拉德内斯