示例#1
0
inline static void debug_history_step(const char *st)
{
    if (event_record_active()) {

        if (debug_buffer_ptr + DEBUG_MAXLINELEN >= DEBUG_HISTORY_MAXFILESIZE) {

            debug_create_new_file();
        }

        debug_buffer_ptr += 
            sprintf(debug_buffer + debug_buffer_ptr, "%s\n", st);
    }

    if (event_playback_active()) {

        char tempstr[DEBUG_MAXLINELEN];
        int line_len = sprintf(tempstr, "%s\n", st);

        if (debug_buffer_ptr >= debug_buffer_size) {
            debug_open_new_file();
        }

        debug_file_line++;

        if (strncmp(st, debug_buffer + debug_buffer_ptr, strlen(st)) != 0) {
            event_playback_stop();
            ui_error(translate_text(IDGS_PLAYBACK_ERROR_DIFFERENT)
                     , st, debug_file_line, debug_file_current - 1);
        }

        debug_buffer_ptr += line_len;
    }
}
示例#2
0
void debug_reset_milestone(void)
{
    if (debug.trace_mode < DEBUG_HISTORY)
        return;

    debug_file_current = debug_file_milestone - 1;
    debug_create_new_file();
}
示例#3
0
void debug_set_milestone(void)
{
    if (debug.trace_mode < DEBUG_HISTORY) {
        return;
    }

    debug_create_new_file();
    debug_file_milestone = debug_file_current;
}
示例#4
0
void debug_start_recording(void)
{
    if (debug.trace_mode < DEBUG_HISTORY)
        return;

    debug_autoplay_current_frame = 0;
    debug_file_current = 0;
    debug_file_milestone = 0;
    debug_buffer_ptr = 0;
    debug_buffer = lib_malloc(DEBUG_HISTORY_MAXFILESIZE);
    debug_create_new_file();
}