43 #define CONFIG_DBG(prm) DBG(prm) 44 #define CONFIG_CK(prm) DBG_CK(prm) 46 #define DBG_NUM_LEVS 200 51 DECLARE_PRINT_FUNCS(debug_entry)
52 DECLARE_PRINT_FUNCS(debug_info)
70 bj_ostream& print_debug_entry(bj_ostream& os,
bool from_pt =
false){
71 os <<
"dbg(rc=" << dbg_recoil <<
", idx=" << dbg_id <<
")";
78 comparison cmp_dbg_entries(debug_entry
const & e1, debug_entry
const & e2){
79 return cmp_long(e1.dbg_recoil, e2.dbg_recoil);
87 row<debug_entry> dbg_start_dbg_entries;
88 row<debug_entry> dbg_stop_dbg_entries;
89 long dbg_current_start_idx;
90 long dbg_current_stop_idx;
91 row<bool> dbg_levs_arr;
101 void init_debug_info(){
102 dbg_start_dbg_entries.clear();
103 dbg_stop_dbg_entries.clear();
104 dbg_current_start_idx = 0;
105 dbg_current_stop_idx = 0;
106 dbg_levs_arr.fill(
false, DBG_NUM_LEVS);
107 dbg_bad_cycle1 =
false;
110 void dbg_lv_on(
long lv_idx){
111 CONFIG_CK(dbg_levs_arr.is_valid_idx(lv_idx));
112 dbg_levs_arr[lv_idx] =
true;
115 void dbg_lv_off(
long lv_idx){
116 CONFIG_CK(dbg_levs_arr.is_valid_idx(lv_idx));
117 dbg_levs_arr[lv_idx] =
false;
120 bj_ostream& print_debug_info(bj_ostream& os,
bool from_pt =
false){
121 os <<
" dbg_start_dbg_entries=\n";
122 dbg_start_dbg_entries.print_row_data(os,
true,
"\n");
123 os <<
" dbg_stop_dbg_entries=\n";
124 dbg_stop_dbg_entries.print_row_data(os,
true,
"\n");
125 os <<
" num_lvs=" << dbg_levs_arr.size();
134 void dbg_read_dbg_conf(debug_info& dbg_inf);
135 void dbg_init_dbg_conf(debug_info& dbg_inf);
136 void dbg_update_config_entries(debug_info& dbg_inf, bj_big_int_t curr_round);
138 class config_reader {
140 row<long> dbg_config_line;
147 void parse_debug_line(row<long>& dbg_line, ch_string& str_ln);
148 void add_config_line(debug_info& dbg_inf, ch_string& str_ln);
149 void read_config(debug_info& dbg_inf,
const char* f_name);
155 DEFINE_PRINT_FUNCS(debug_entry)
156 DEFINE_PRINT_FUNCS(debug_info)