我对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中心通信。
感谢您的帮助
答案 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行,并添加新的输出。