如何在 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 应用程序。

  1. 使用 Node.js 工具 Visual Studio (NTVS),请参阅项目 nodejstools 上的维基文章 Advanced Debugging GitHub 了解如何通过 VS 进行调试。

  2. 使用 Visual Studio 在线服务,请观看频道 9 上的视频 Debugging node.js

希望对您有所帮助。

如有任何疑问,请随时告诉我。