使用新的OpenWhisk调试器

无服务器计算的迅速普及也就不足为奇了。 隐式可伸缩性,事件驱动/自动数据处理,简单性,可重用性,可组合性和降低的成本只是无服务器编程模型开始兴起的几个原因。 人们有时会反对使用无服务器编程模型的一个论据是,由于无法将本地调试器附加到无服务器操作上,因此无服务器操作可能更难开发,但实际上,既然有了wskdb ,这不再是问题。

wskdb:OpenWhisk调试器

如果您还没有看到它,那么现在您可以wskdb ,它是新的/ Beta版OpenWhisk调试器。 它允许您在丰富的调试环境中调试本地计算机上的OpenWhisk操作,就像调试本地代码一样。

实际上,您实际上是在调试本地代码。 使用调试器时,您将附加到操作。 然后,对该操作的调用将重新路由到您的开发机,您可以在其中调试并进行本地更改。 调试完成后,您可以推送更改,或者只是断开连接即可清理重新路由。

您甚至可以调试序列中的特定操作。 假设您有一个由操作A,B,C和D组成的序列。您可以将调试器附加到这些操作中的任何一个上。 因此,如果我想调试动作C,则将其附加到动作C。调用序列时,将在OpenWhisk环境中执行动作A和B,然后将在本地调试环境中调用动作C,然后将动作D在OpenWhisk环境中执行。

您可以使用OpenWhisk调试器来调试Node.js / JavaScript,Swift或Python操作,它使您能够达到断点,单步执行代码,检查内存值等等。

查看此概述:

可用的命令是:

 指令说明 
列表,l列出可用的操作
cli使用CLI调试器(如果可用)
调用,我调用一个动作
检查,获取,检查OpenWhisk操作的详细信息
火,f扳机
附加,附加到动作
分离,动作分离
diff显示给定操作的待处理差异
p,发布对给定操作的未决更改
退出,退出,e,q退出调试器
clean,c清除调试工件
创建动作
删除删除动作
帮助,h ,? 打印此帮助文本

要调试动作,您必须首先运行attach命令–这将设置“管道”以能够调试您的动作。 一旦连接了调试器,就可以使用in invoke命令(像OpenWhisk CLI一样传递参数)。 在下面的屏幕截图中,您可以看到我如何附加和调用我的斐波那契操作(该操作会在斐波那契序列中生成数字):

这将启动调试过程。 对于JavaScript / Node.js操作,这将基于您熟悉的Chrome / Blink / Webkit / Node Inspector调试器,如下图所示。

这样就可以检查内存中的变量,设置断点,逐行执行代码等。所有这些都是非常有用的开发和调试工具。

Swift动作的调试将使用LLDB调试器,Python动作将使用Python调试器(pdb)。 如果您不熟悉LLDB,请参阅此处以获取lldb命令的快速参考。 如果您不熟悉pub,请参阅此处以快速了解pub命令。

接下来是什么?

注册Bluemix并开始使用OpenWhisk,并立即为您的无服务器计算任务下载CLI!

您可以从自述文件/文档中了解有关使用OpenWhisk调试器的更多信息,如果发现问题,则提交问题,或者可以直接对项目做出贡献。 欢迎社区提供所有意见。

猜猜还有什么? 它也可以与 我之前讨论的VS Code OpenWhisk扩展一起 使用,但是我将在另一篇博客文章中保存其详细信息。