Jasper
Jasper

Reputation: 1837

Debugging published bot

I'm trying to find out what is wrong with my bot. This is a bot meant as back-end for a Cortana skill. The bot is built with the bot framework version 3.8.0. I'm running it on an Azure Bot Service instance (Azure Function).

Locally, everything works as expected. I'm using the bot framework emulator to test everything; all great. Now I publish the bot to Azure and invoke it using Cortana. Cortana replies there's an issue with the bot.

When I check the diagnotics log in Azure, I see the following:

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.

So "invalid channel data" seems to be the main error here, but that doesn't tell much. I enabled all logging on the server and downloaded + inspected these; there's nothing more useful in there.

I also attached a debugger to the remote process. I see my dialog method being called and finished without any problem. So the issue doesn't appear to be in my code, but in the framework somewhere? But I have no idea on where to go next.

BTW I also tried updating to the latest version of the SDK (3.8.5) but it appears that Microsoft.Bot.Builder.Azure has a dependency on version 3.8.0 cause it won't run after upgrading due to a assembly load error (it's trying to load 3.8.0).

Upvotes: 2

Views: 431

Answers (1)

Hasan Mahmood
Hasan Mahmood

Reputation: 978

You can debug your Azure published BOT locally. This will help you to find the real issue.

I am adding the steps how to debug Azure published BOT in locally.

  1. Enable Debug in Azure Application setting: Open Azure Portal. Click on Azure Web Bot. Click on Application Settings, In the Debugging section On Remote Debugging and select your Visual Studio Version.

enter image description here

  1. Get Publish Settings: Click on All App service Settings Click on Get publish profile to get the publish setting with all user name and paths. It will download the settings.

enter image description here

  1. Click on the Attach to process .. enter image description here

  2. In the Connection target: type your bot url without http://. Example: yourbotname.azurewebsites.net:4022 --Click on Find Button. --This is asking you to give username and password. You need to get your azure username and password from publish file.

enter image description here

  1. Now run your Web App or Cortana to debug your BOT and the get real Error.

Upvotes: 4

Related Questions