【问题标题】:Debugging published bot调试已发布的机器人
【发布时间】:2017-12-23 00:14:43
【问题描述】:

我正试图找出我的机器人出了什么问题。这是一个机器人,意为 Cortana 技能的后端。该机器人是使用机器人框架版本 3.8.0 构建的。我在 Azure Bot Service 实例(Azure Function)上运行它。

在本地,一切都按预期进行。我正在使用机器人框架模拟器来测试一切;一切都很好。现在我将机器人发布到 Azure 并使用 Cortana 调用它。 Cortana 回复说机器人有问题。

当我在 Azure 中检查诊断日志时,我看到以下内容:

2017-07-18T08:11:34.252 Exception while executing function: Functions.messages 
2017-07-18T08:11:34.252 Invalid channel data.
2017-07-18T08:11:34.272 Executed 'Functions.messages' (Failed, Id=e5eae9f5-97e4-4a35-aa5f-5c7d58a63aed)
2017-07-18T08:11:34.272 Invalid channel data.
2017-07-18T08:11:34.272 Function had errors. See Azure WebJobs SDK dashboard for details. Instance ID is 'e5eae9f5-97e4-4a35-aa5f-5c7d58a63aed'
2017-07-18T08:11:34.272 Invalid channel data.
2017-07-18T08:11:34.315 {"id":"6f095c10-d9e8-4ad0-a6a8-caf052288f8b","requestId":"2f4c950c-2459-4467-8579-4f3b5bc45e6b","statusCode":500,"errorCode":0,"messsage":"An error has occurred. For more information, please check the logs for error ID 6f095c10-d9e8-4ad0-a6a8-caf052288f8b"}
2017-07-18T08:11:34.315 Invalid channel data.
2017-07-18T08:11:34.194 Function completed (Failure, Id=e5eae9f5-97e4-4a35-aa5f-5c7d58a63aed, Duration=4626ms)
2017-07-18T08:11:34.252 Exception while executing function: Functions.messages. Microsoft.Bot.Connector: Invalid channel data.

所以“无效的频道数据”似乎是这里的主要错误,但这并不能说明什么。我启用了服务器上的所有日志记录并下载并检查了这些;那里没有什么比这更有用的了。

我还为远程进程附加了一个调试器。我看到我的对话方法被调用并完成,没有任何问题。所以问题似乎不在我的代码中,而是在某个地方的框架中?但我不知道下一步该去哪里。

顺便说一句,我也尝试更新到最新版本的 SDK (3.8.5),但似乎 Microsoft.Bot.Builder.Azure 依赖于版本 3.8.0,因为升级后它不会运行,因为程序集加载错误(它正在尝试加载 3.8.0)。

【问题讨论】:

  • 仅供参考 - 我创建了 this 问题来跟踪依赖项的更新。
  • 好主意,谢谢!
  • 尝试使用 Azure 程序集的更新版本,但这并不能解决问题。

标签: botframework cortana cortana-skills-kit


【解决方案1】:

您可以在本地调试 Azure 发布的 BOT。这将帮助您找到真正的问题。

我正在添加如何在本地调试 Azure 发布的 BOT 的步骤。

  1. 在 Azure 应用程序设置中启用调试: 打开 Azure 门户。 单击 Azure Web 机器人。 单击应用程序设置,在远程调试的调试部分中,选择您的 Visual Studio 版本。

enter image description here

  1. 获取发布设置: 点击所有应用服务设置 单击获取发布配置文件以获取包含所有用户名和路径的发布设置。它将下载设置。

enter image description here

  1. 单击附加到进程.. enter image description here

  2. 在连接目标中:键入您的机器人 URL,不带 http://。 示例:yourbotname.azurewebsites.net:4022 --点击查找按钮。 --这是要求您提供用户名和密码。您需要从发布文件中获取您的 azure 用户名和密码。

enter image description here

  1. 现在运行您的 Web 应用或 Cortana 来调试您的 BOT 并获得真正的错误。

【讨论】:

    猜你喜欢
    • 2017-11-03
    • 1970-01-01
    • 2021-04-06
    • 2018-10-29
    • 2017-11-19
    • 1970-01-01
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    相关资源
    最近更新 更多