我们如何解决一个在生产中停止的长时间运行的NETMF程序的问题

本文关键字:长时间 运行 问题 程序 NETMF 生产中 一个 何解决 解决 我们 | 更新日期: 2023-09-27 17:57:38

位置

我有一个FEZ Cobra II NET运行测试代码。它每秒向局域网上的服务器发送数据。服务器将数据写入文本文件。在27个小时和97200次成功发送后,眼镜蛇停止发送。很明显,我不会调试27个小时,我也不知道如何解决其他问题,因为标准的软件故障解决方法不适用。

问题

  • 如果我在Cobra上写日志记录错误,我将如何访问它们
  • NETMF有应用程序日志吗?我们如何访问它们
  • 是否有事件查看器
  • 这里还有哪些其他可行的故障排除/调试步骤

代码

public class Program
{
    private static Timer timer;
    private Network network;
    public static void Main()
    {
        Program p = new Program();
        p.network = new Network();
        p.RepeatedlySendDataToWcfService();
        Thread.Sleep(Timeout.Infinite);
    }
    private void RepeatedlySendDataToWcfService()
    {
        Program.timer = 
            new Timer(this.TimerCallback_SendSbcData, new object(), 0, 1000);            
    }
    private void TimerCallback_SendSbcData(object stateInfo)
    {
        SbcData data = new SbcData();
        this.network.Send(data);
    }
}

搜索和研究

  • https://stackoverflow.com/search?q=netmf+疑难解答没有结果
  • https://stackoverflow.com/search?q=netmf+error+log没有结果
  • https://stackoverflow.com/search?q=netmf+remoting没有结果
  • 我们可以访问Cobra II错误日志吗
  • NETMF-调试应用程序

我们如何解决一个在生产中停止的长时间运行的NETMF程序的问题

由于Fez有一个存储卡插槽,您可以将发送错误记录到:

private void TimerCallback_SendSbcData(object stateInfo)
{
    try
    {
        SbcData data = new SbcData();
        this.network.Send(data);
    }
    catch (Exception ex)
    {
        MyLogToCardMethod(ex.ToString());
    }
}

安装卡的说明在制造商网站上:

https://www.ghielectronics.com/docs/51/netmf-file-system