第 23 章 崩溃检测、BMW 和 BLT ಠ_ಠ

如果应用程序出现意外行为,您可以使用崩溃检测来捕获崩溃事件。然后,您可以使用基本媒体向导和基本日志测试工具来分析事件,并更好地了解可能导致崩溃的情况。您可以将所有这些数据捕获到一个日志文件中,然后将其转发给 SailWind 技术支持部门,以便进行进一步的分析和支持。

崩溃检测

发生崩溃时会打开“检测到错误”对话框,您可以通过该对话框将 SailWind 环境的报告以及相关文件保存到压缩的转储文件中,以进行故障排除。

除非软件崩溃且在软件 .ini 文件中启用了崩溃检测,否则无法访问此“检测到错误”对话框。

崩溃检测由 .ini 文件中的 CrashDetection 开关控制;默认情况下它是关闭的。

  • 如果 .ini 文件中不存在 CrashDetection 开关,或者 .ini 文件的 [General] 部分中存在该开关,但值为 0(零),则崩溃检测将被关闭。崩溃发生时,不会创建任何环境报告。
  • 如果 .ini 文件的 [General] 部分中存在 CrashDetection 开关,或者该开关的值为 1,则会检测到崩溃,并显示“错误检测”对话框。

BMW 和 BLT

BMW(基本媒体向导)和 BLT(基本日志测试)是用于录制和播放 SailWind Logic、SailWind Layout 和 SailWind Router 会话的工具。它们尤其适用于向 SailWind 软件支持工程师提供信息,帮助他们识别和解决您可能遇到的任何问题。

如果您向技术支持部门报告 SailWind 工具出现问题,技术支持工程师可能会要求您使用 BMW 录制会话回放媒体,以记录导致问题的操作。然后,技术支持工程师可以使用 BLT 回放会话,以帮助他们识别和解决问题。

使用 BMW 创建会话播放媒体 为正常会话创建会话播放媒体 自动为崩溃的会话创建会话播放媒体 手动为崩溃的会话创建会话播放媒体

与 BMW 合作创建会话播放媒体

要创建会话回放媒体,必须在问题发生时启用 BMW 会话日志记录。如果您遇到问题时未启用会话日志记录,则必须在启用会话日志记录的新会话中重现导致问题的操作。

此外,根据您想要记录的问题是否导致 SailWind 工具崩溃,您可以根据当前或紧接在前的 SailWind 工具会话创建会话回放媒体。

下表指定了您必须使用下面描述的哪些过程来创建会话播放媒体。

是否启用了日志记录? SailWind 工具崩溃了吗? 然后使用此过程。
是的 为普通会话创建会话播放媒体
为普通会话创建会话播放媒体
是的 是的 为崩溃的会话自动创建会话播放媒体
是的 为崩溃的会话手动创建会话播放媒体

为普通会话创建会话播放媒体

当您重新创建的会话没有导致 SailWind 工具崩溃时,您可以使用基本媒体向导 (BMW) 创建会话播放媒体。

🏃‍♂️‍步骤

  1. 启动 SailWind 工具,但不要打开出现问题的文件。(打开该文件之前,必须启用会话日志记录。)

  2. 输入⌨️无模命令 BMW ON 并按 Enter 键以启用会话日志记录。

    日志记录功能将一直针对本次会话和所有未来会话保持启用状态,直到您使用 BMW OFF 命令将其禁用。

  3. 打开遇到问题行为的文件。

  4. 执行产生问题行为的一系列操作。

    一系列操作以及对电路板或配置的更改都存储在当前会话的会话日志文件中。

  5. 键入⌨️ BMW(无模命令)并按 Enter 键。

  6. 媒体向导对话框中,点击🖱️“从当前会话创建媒体”。

  7. 在“用户姓名首字母”框中输入⌨️您的姓名首字母。(这些首字母会包含在播放媒体文件名中,以标识文件属于您。)

  8. 要删除第一次打开和最后一次保存命令之间的会话日志文件中的所有条目,请点击🖱️“删除最后一次保存之前的操作”。

    您可以通过此操作来排除在导致问题行为的一系列操作开始之前可能执行的任何操作。这可以帮助技术支持工程师更轻松地识别问题。

  9. 点击🖱️“确定”即可创建会话媒体文件

为崩溃的会话自动创建会话播放媒体

当您重新创建的会话导致 SailWind 工具崩溃并且不适用任何列出的限制时,您可以使用基本媒体向导 (BMW) 创建会话播放媒体。

🙊限制

  • 仅当前一个(崩溃的)会话开始时已启用 BMW 日志记录,并且在整个会话期间日志记录保持启用状态时,此过程才有效。
  • 如果 SailWind 工具的任何其他实例与前一个(崩溃的)会话同时运行(任意时间段),则此过程不会提供有用的结果。

🏃‍♂️‍步骤

  1. 启动 SailWind 工具,但不要打开出现问题的文件。(打开文件之前,必须启用会话日志记录。)

  2. 输入⌨️无模命令 BMW ON 并按 Enter 键启用会话日志记录。日志记录将持续启用,直至您使用 BMW OFF 命令将其禁用。

  3. 打开遇到问题行为的文件。

  4. 执行产生问题行为的一系列操作。

    一系列操作以及对电路板或配置的更改都存储在当前会话的会话日志文件中。

  5. 崩溃后,重新启动 SailWind 工具。

    此时会显示一个对话框,询问您是否要为崩溃的会话保存媒体文件。点击🖱️“”即可创建会话媒体文件

为崩溃的会话手动创建会话播放媒体

当您重新创建的会话导致 SailWind 工具崩溃时,您可以使用基本媒体向导 (BMW) 手动创建会话播放媒体,并且由于该部分列出的限制之一而无法使用自动程序。

自动过程在为崩溃的会话自动创建会话播放媒体中进行了描述。

🏃‍♂️‍步骤

  1. 启动 SailWind 工具,但不要打开遇到问题行为的文件(打开文件之前必须启用会话日志记录)。
  2. 输入⌨️无模命令 BMW ON 并按 Enter 键启用会话日志记录。日志记录将持续启用,直至您使用 BMW OFF 命令将其禁用。
  3. 打开遇到问题行为的文件。
  4. 执行导致问题行为的一系列操作。这一系列操作以及对主板或配置的更改都存储在当前会话的会话日志文件中。
  5. 崩溃后,重新启动 SailWind 工具。
  6. 键入⌨️ BMW(无模命令)并按 Enter。
  7. 媒体向导对话框中,点击🖱️“从上一个会话创建媒体”。
  8. 在用户姓名首字母框中输入⌨️您的姓名首字母,以识别您的会话播放媒体文件。
  9. 点击🖱️“确定”即可创建会话媒体文件

会话日志文件

启用 BMW 会话日志记录后,\SailWind Projects 文件夹中会维护两组会话日志文件。这些日志记录了当前会话以及上一个会话中执行的操作。

BMW 对这些文件的命名如下:

当前会话日志文件 先前会话日志文件
_Next.log _NextBak.log
_Next.reg _NextBak.reg
_Next.ini _NextBak.ini

这些文件是动态的;每次启动会话时,当前会话日志文件都会重命名为之前的会话日志文件,并创建新的当前会话日志文件。旧的之前会话日志文件的内容将丢失。

每当您选择为会话创建会话媒体文件时,这些日志文件的相应集合都会保存在永久位置,如会话媒体文件中所述。

TIP

您可能会看到一个名为 _Session.log 列在 \SailWind Projects 文件夹中。此文件与 BMW 创建的会话回放媒体无关。

会话媒体文件

每次创建会话播放媒体时,BMW 都会在 \SailWind Projects 文件夹中创建一个新的会话媒体文件夹,并将以下内容复制到其中:

会话媒体文件夹名为 , 在哪里:

  • <month><day> 是日期
  • <initials> 是您在媒体向导对话框中键入⌨️的用于个性化媒体文件的字母。
  • <sequential letter> 是自动分配的字母,用于对特定日期创建的目录进行排序。

例如:\SailWind Projects\0530jsb 表示 5 月 30 日创建的会话媒体文件夹,使用首字母 js,这是当天创建的第二个会话媒体文件夹。

创建会话播放媒体时,以下文件将写入会话媒体文件夹:

使用 BLT 重放会话播放媒体

您可以使用 BLT 重播 BMW 创建的会话回放媒体。

🏃‍♂️‍步骤

  1. 键入⌨️ BLT(无模命令)并按 Enter。

  2. 从“媒体目录”列表中选择会话播放媒体,然后点击🖱️“确定”。会话即会重播。

    TIP

    要个性化媒体文件夹和会话播放媒体文件名,请从媒体目录列表中选择一个媒体会话,在新名称框中键入⌨️新名称,然后点击🖱️重命名。

/BMW 命令行开关

如果您想自动记录每个 SailWind Layout 会话,您可以在软件的启动选项中使用命令行开关。

如果您希望 BMW 在每次启动 SailWind 工具时自动提示您创建上一个会话的媒体,请使用 /BMW 命令行开关打开 SailWind 工具。或者使用 /BMW-xx(其中 xx 代表您的姓名首字母,用于文件夹和文件名中以识别您的身份)。

当您使用 BMW 作为命令行选项时,它会创建上一个会话的媒体;使用 BMW 无模命令来创建当前会话的媒体。

脚本和宏

所有脚本和宏文档均已移至单独的手册中。

它可以在 SailWind Logic 命令参考手册中找到。