我想在 Firebase 的云函数中连接堆栈驱动程序调试代理。以下是我如何设置堆栈驱动程序代理,以便在启动时对要调试的函数使用。
// For debugging purposes
const debug = require('@google-cloud/debug-agent').start({ allowExpressions: true,
});
export async function listen() {
await debug.isReady();
}
然后像下面这样使用它
export async function exampleCallableWrapper(
data: any,
context: functions.https.CallableContext
) {
await listen();
data.Id = shortid.generate();
// Do something
return
}
例如,我想查看数据对象。放置断点后,快照不显示任何内容。
我确实将断点放在函数所在的原始函数/src 文件夹中。
我还尝试手动将其指向lib文件夹,但没有运气,因为我必须手动执行此操作。
我确实看到函数成功启动并返回正常,没有问题,但在堆栈驱动程序调试器页面中没有任何显示
函数和栈驱动程序的版本如下
"@google-cloud/debug-agent": "^3.0.0",
"firebase-functions": "^2.0.5",
此解决方案使用云函数实现堆栈驱动程序调试器。查看他们如何实现它而不是您的代码可能会很有用。