-3

我正在使用 IntelliJ 社区和 Java/Kotlin 客户端库为 Google Assistant 开发我的第一个 Action 来开发实现代码。有没有办法以典型的方式在本地调试它(使用断点)?

4

2 回答 2

1

由于代码将在服务器上远程运行,因此您无法以典型的方式在本地进行调试。调试的一种方法是使用日志记录、打印出关键变量并检查它们以了解值/流。

但是,如果您使用的是 Google Cloud,则可以查看使用Stackdriver Debug Snapshots。它不会停止执行,但会在那时拍摄应用程序状态的快照,以便您可以返回并查看您的变量在哪一行。

于 2019-03-25T13:42:12.010 回答
1

我没有放弃,我做到了。可以以典型的方式在本地完成 Google 的调试操作。

为此,我使用了: IntelliJ Community Edition 和ngrok

  1. 在本地 AppEngine 服务器(指南)上部署和运行/调试 fullfilment 。
  2. 运行 ngrok 以获取用于公开本地应用程序的公共 URL(使用命令行“ngrok.exe http {portNumber}”)。
  3. 在 Dialogflow > Fullfilment > Webhook > URL 上复制并粘贴 https URL。
  4. 在操作控制台上测试您的操作。

当您的 fullfilment 收到来自 DialogFlow 的 Post 请求时,您的应用程序将在断点处停止,您将能够以典型方式进行调试。

此解决方案的唯一缺点是 Google 助理等待 fullfilment 响应的时间有限,因此在您调试时,您的操作可能会停止显示消息“您的应用程序现在没有响应。请稍后再试."。然而,这个解决方案允许非常快速的部署和调试,我个人非常感谢它在开发阶段。

于 2019-10-25T13:33:09.027 回答