无法调试firebase功能

时间:2017-03-16 12:26:04

标签: debugging firebase google-cloud-functions google-cloud-debugger

我正在尝试调试我的js代码在firebase函数上的运行。 我的步骤是: 从功能安装

npm install --save @google-cloud/debug-agent

添加了index.js:

require('@google/cloud-debug').start();

当我试图运行时

firebase deploy --only functions

收到错误:

Error: Error parsing triggers: Cannot find module '@google/cloud-debu
g'

Try running "npm install" in your functions directory before deployin

2 个答案:

答案 0 :(得分:0)

尝试:ndb firebase serve

调试器断点被击中且堆栈跟踪可见,请注意,这有点慢,因此请给调试器时间来检测子进程

此外,我还可以使用(删除值的上限)隔离调试云功能:

GCLOUD_PROJECT=THE-FIREBASE-PROJECT node --inspect-brk /path/to/functions-framework --target FUNCTION-NAME --port=5000

functions-framework只是扩展为已安装的functions-framework的完整路径(在我的情况下为全局),工作目录包含函数的目标index.js。

或者在需要或需要FIREBASE_CONFIG的位置,尝试调整以下格式以适合: FIREBASE_CONFIG="{\"databaseURL\":\"https://YOUR-FIREBASE-PROJECT.firebaseio.com\",\"storageBucket\":\"YOUR-FIREBASE-PROJECT.appspot.com\",\"projectId\":\"YOUR-FIREBASE-PROJECT\"}

答案 1 :(得分:-1)

index.js的加法应为:

require('@google-cloud/debug-agent').start();

或更好:

require('@google-cloud/debug-agent').start({ allowExpressions: true });

我们最近重命名了该模块,您所遵循的说明可能已部分过时。你能指点我们你一直关注的指示吗?

另请注意,此时支持调试云功能是实验性的。在某些情况下(取决于函数的流量),在调试代理有机会初始化/注册之前,您的函数可能会完成。我们目前正在研究如何解决这个问题。