调试已发布的bot

时间:2017-07-18 08:34:16

标签: botframework cortana cortana-skills-kit

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

在本地,一切都按预期工作。我正在使用bot框架模拟器来测试一切;太棒了现在我将bot发布到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.

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

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

BTW我也尝试更新到最新版本的SDK(3.8.5),但似乎Microsoft.Bot.Builder.Azure依赖于版本3.8.0,因为升级后它将无法运行程序集加载错误(它试图加载3.8.0)。

1 个答案:

答案 0 :(得分:4)

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

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

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

enter image description here

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

enter image description here

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

  2. 在“连接”目标中:输入没有http://的漫游器网址。 例如:yourbotname.azurewebsites.net:4022 -单击查找按钮。 -这是要求您提供用户名和密码。您需要从发布文件中获取天蓝色的用户名和密码。

enter image description here

  1. 现在运行您的Web App或Cortana调试您的BOT并获取实际错误。