Step Execution The pr_make_step( ) function does the following: ● At the beginning of each step, it determines whether tracing should be enabled. ● The function that goes through the list of report elements that were changed during the current step and produces the output mapping and trace messages is called. ● At the end of each step, the stop trace condition is checked; if it holds, tracing is disabled. The generated code is as follows: r2main.c: boolean pr_make_step() { boolean step_has_changes = FALSE; incr_stepN(); if (X_OUT1 > 0) enable_trace(); lo_main(); step_has_changes = update(); garbage_collect() ; if (!step_has_changes && (!deb_was_update())) return TRUE; if (call_cbks_p) (*call_cbks_p)(FALSE); update(); do_report(); if (X_OUT2 < 0) disable_trace(); return FALSE; }
The pr_make_step( ) function does the following:
pr_make_step( )
The generated code is as follows: