首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >引入功能路径点保护装置

引入功能路径点保护装置
EN

Software Engineering用户
提问于 2014-12-09 13:31:02
回答 1查看 169关注 0票数 0

在程序/类中定义魔术指针或计数器并在执行关键命令之前检查固定值是防止错误执行的一种方法。

这个检查应该在一个用C/C++编写程序的嵌入式系统上使用。设想一种情况,即程序计数器被错误地设置到一个危险的地址(EMI、坏程序员、黑客、Santa.)。例如,这段代码将擦除MCU中的一个闪存。我们不希望->将if放在每个擦除命令的前面,并检查0xDEADBEEF。

我知道增益不是很高,而且程序失去了灵活性。我也考虑过要有路径点(擦除->是写集?->,您有固件数据吗?)

这种技术叫什么?是否有关于它的文件,甚至是模式?

EN

回答 1

Software Engineering用户

发布于 2014-12-10 09:12:07

为了检查错误而添加到结构中的字段通常称为狗标记(我认为它是在史蒂夫·McConnel代码完成之后的)。

狗标签用于检查损坏的内存:

  • 当您分配一个变量时,将应该保持不变的值放到它的标记文件中;
  • 使用结构时,检查标记的字段值(如果标记字段没有预期值,则数据已损坏);
  • 当删除指针破坏标记时,如果您不小心再次尝试释放同一个指针,您将检测到损坏。

堆栈上的金丝雀值是狗标记字段(查看“狗标签”字段是否在某些软件中使用?)。

票数 3
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/264970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档