如何在 Azure 上调试 node.js 应用程序、slack 机器人?
How to debug node.js app, slack bot, on Azure?
我有一个用 botkit 模块编写的 slack 机器人。在 Azure 上是 运行。在本地一切都很好,但在生产中出现了一个我无法捕捉到的错误。
已尝试使用以下方法和其他类似方法在 Azure 上调试 node.js,但没有任何效果。
https://tomasz.janczuk.org/2013/07/debug-nodejs-applications-in-windows.html
我得到的是:
无法获取 /app/server.js/debug
有什么想法吗?
更新 - 添加我的代码:
controller = Botkit.slackbot({
json_file_store: '../db/',
}).configureSlackApp({
clientId: process.env.clientId,
clientSecret: process.env.clientSecret,
scopes: ['bot']
});
controller.setupWebserver(process.env.PORT, function(err, webserver) {
webserver.get('/', function(req, res) {
res.sendFile('index.html', { root: __dirname });
});
controller.createWebhookEndpoints(controller.webserver);
controller.createOauthEndpoints(controller.webserver, function(err, req, res) {
if (err) {
res.status(500).send('ERROR: ' + err);
} else {
res.sendFile('install.html', { root: __dirname });
}
});
});
正如彼得所说,我可以使用 VSOnline - 太棒了!不过,我猜是由于
webserver.get('/',
所有像 /app/server.js/debug 这样的查询都不起作用。
Cannot GET /app/server.js/debug
知道如何进行吗?
根据我的经验,我建议您可以尝试通过以下两种方式远程调试 Azure 上托管的 NodeJs 应用程序。
使用 Node.js 工具 Visual Studio (NTVS),请参阅项目 nodejstools
上的维基文章 Advanced Debugging
GitHub 了解如何通过 VS 进行调试。
使用 Visual Studio 在线服务,请观看频道 9 上的视频 Debugging node.js
。
希望对您有所帮助。
如有任何疑问,请随时告诉我。
我有一个用 botkit 模块编写的 slack 机器人。在 Azure 上是 运行。在本地一切都很好,但在生产中出现了一个我无法捕捉到的错误。
已尝试使用以下方法和其他类似方法在 Azure 上调试 node.js,但没有任何效果。 https://tomasz.janczuk.org/2013/07/debug-nodejs-applications-in-windows.html
我得到的是: 无法获取 /app/server.js/debug
有什么想法吗?
更新 - 添加我的代码:
controller = Botkit.slackbot({
json_file_store: '../db/',
}).configureSlackApp({
clientId: process.env.clientId,
clientSecret: process.env.clientSecret,
scopes: ['bot']
});
controller.setupWebserver(process.env.PORT, function(err, webserver) {
webserver.get('/', function(req, res) {
res.sendFile('index.html', { root: __dirname });
});
controller.createWebhookEndpoints(controller.webserver);
controller.createOauthEndpoints(controller.webserver, function(err, req, res) {
if (err) {
res.status(500).send('ERROR: ' + err);
} else {
res.sendFile('install.html', { root: __dirname });
}
});
});
正如彼得所说,我可以使用 VSOnline - 太棒了!不过,我猜是由于
webserver.get('/',
所有像 /app/server.js/debug 这样的查询都不起作用。
Cannot GET /app/server.js/debug
知道如何进行吗?
根据我的经验,我建议您可以尝试通过以下两种方式远程调试 Azure 上托管的 NodeJs 应用程序。
使用 Node.js 工具 Visual Studio (NTVS),请参阅项目
nodejstools
上的维基文章Advanced Debugging
GitHub 了解如何通过 VS 进行调试。使用 Visual Studio 在线服务,请观看频道 9 上的视频
Debugging node.js
。
希望对您有所帮助。
如有任何疑问,请随时告诉我。