在程序/类中定义魔术指针或计数器并在执行关键命令之前检查固定值是防止错误执行的一种方法。
这个检查应该在一个用C/C++编写程序的嵌入式系统上使用。设想一种情况,即程序计数器被错误地设置到一个危险的地址(EMI、坏程序员、黑客、Santa.)。例如,这段代码将擦除MCU中的一个闪存。我们不希望->将if放在每个擦除命令的前面,并检查0xDEADBEEF。
我知道增益不是很高,而且程序失去了灵活性。我也考虑过要有路径点(擦除->是写集?->,您有固件数据吗?)
这种技术叫什么?是否有关于它的文件,甚至是模式?
发布于 2014-12-10 09:12:07
为了检查错误而添加到结构中的字段通常称为狗标记(我认为它是在史蒂夫·McConnel代码完成之后的)。
狗标签用于检查损坏的内存:
堆栈上的金丝雀值是狗标记字段(查看“狗标签”字段是否在某些软件中使用?)。
https://softwareengineering.stackexchange.com/questions/264970
复制相似问题