|嵌入式开发:创建堆栈监视器的7个步骤( 二 )



图2
步骤 7 – 测试警卫
创建堆栈监视器的最后一步当然是测试它!测试它的最佳方法之一是编写一小段代码来修改堆栈保护模式 。 堆栈保护的定期检查应该检测到模式已经改变 , 这表明堆栈已经溢出 。
经过测试的堆栈监视器对提高系统的可靠性和稳健性大有帮助 。 一旦监控的堆栈能够检测到溢出 , 就需要额外的应用程序代码来决定如何处理该信息 。 记录调用深度、寄存器值和应用程序状态将帮助开发人员重复溢出并发现根本原因 。
结语
开发人员在开始软件开发时经常会忽略堆栈 。 堆栈溢出是难以发现的错误之一 , 除非嵌入式开发人员努力对其进行监控 。 检测堆栈溢出并不困难 , 监视器的轻微性能损失非常值得!