【问题标题】:Definition of "step-point" as it relates to debugging/embedded与调试/嵌入有关的“步骤点”的定义
【发布时间】:2013-08-29 13:27:43
【问题描述】:

我正在阅读有关使用 CoreSight Trace Techniques 的 IAR 描述,并遇到了一个生成“代码覆盖率统计”的示例。

他们多次引用“step point”。在 IAR 站点内搜索“step point”只会生成上述链接。

我们可以轻松定义指令代码行,那么究竟是什么 em> 是 step-point,或者更好的是,链接中引用的 step-point level上面?

【问题讨论】:

  • 请注意,上面的链接是页面的缓存版本,因为 IAR 目前不工作
  • 使用链接可以防止问题和答案在堆栈溢出时的长期价值。最好将相关信息剪切并粘贴到问题和答案中,这样信息完全包含在堆栈溢出中,并且保留问题/答案供其他人学习。
  • 这是一个很好的观点。感谢您的洞察力。我认为在这种情况下,鉴于所讨论的术语不是特定于利基的,该链接仅用于提供其存在的示例,并且除了“与调试/嵌入有关”所述的内容之外不包含任何支持上下文.

标签: debugging embedded code-coverage trace iar


【解决方案1】:

步骤点似乎是 IAR 描述可执行语句的方式。例如,查看 here 并搜索 step point 显示了如何一次遍历一个语句的代码。

步骤点级别可能是采用或未采用的分支。

快速代码示例:

  //next two step points are at the same step point level.  There's no branch,
  //they will both always execute
  unsigned char qwerty=5;
  if(timer == 0x15)
  {
    Foo(5);  // another step point, a different step point level than above
  }
  else
  {
    // the next two step points are at the same step point level, as depending on 
    // the branch will either hit both or neither.
    unsigned char temp=5;
    Foo(temp);
  }

【讨论】:

  • 啊,所以 step-point 的定义取决于调试的方法/模式。我懂了。因此,通过“Step over”单步执行定义了函数级别的步骤点,但通过“Next statement”或“Step Into”单步执行定义了语句级别的步骤点。明白了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-26
  • 2014-10-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多