Search code examples
debuggingembeddedcode-coveragetraceiar

Definition of "step-point" as it relates to debugging/embedded


I was reading through an IAR description of using CoreSight Trace Techniques, and came across an example for generating "Statistics of Code Coverage".

They reference "step point" several times. A site-search for "step point" within the IAR site generates only the above link.

We can easily define instructions and lines of code, so what is exactly is a step-point, or better yet, a step-point level as referenced in the link above?


Solution

  • Step points appear to be how IAR describes executable statements. For example, looking here and searching for step point shows how to walk through code one statement at a time.

    Step point levels are likely branches taken or not taken.

    A quick code example:

      //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);
      }