了解Azure IoT Edge模块

时间:2019-02-13 12:48:21

标签: c azure printf azure-iot-hub azure-iot-edge

我对Azure和IoT Edge还是很陌生,我想了解模块的工作原理。

我遵循了这个很好的教程(https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-c-module),一切似乎都正常运行。

我的问题是关于代码中的printf。 (例如,在此处的第3点:https://docs.microsoft.com/en-us/azure/iot-edge/tutorial-c-module#update-the-module-with-custom-code

if (NULL == messageInstance)
{
    printf("Failed allocating 'MESSAGE_INSTANCE' for pipelined message\r\n");
}

输出打印在哪里?

通常它将在标准输出上,但是我的模块在虚拟机上在后台运行。显然,我可以访问此VM。我怎么看?

对我来说很棒,以便更好地了解模块如何与IoT中心一起工作以及与IoT中心通信。

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

将输出写入模块日志文件。您可以通过使用ssh登录到虚拟机,然后使用以下命令来对其进行检查:

Animation

添加-f选项使其跟随新输出,并使用--tail将输出限制为日志文件的最后几行。

void loop(int i)
{
    if (i < 4) {
        printf ("Loop working\n");
        loop(++i); // recursive call
    }
}

int main()
{
    loop(0);
}

显示日志文件的最后100行,并添加新的输出。