?? hamaro_windbg.c
字號:
#include <time.h> /* ANSI Standard */
#include "stbcfg.h"
#include "basetype.h"
#include "trace.h"
#include "kal.h"
#include "hamaro.h" /* Hamaro include files, ordered */
#ifndef BOOL
typedef int BOOL;
#endif
//#define DEBUG_BLINDSCAN
#define TRACE_FLAG (TRACE_LEVEL_ALWAYS|TRACE_ALL|TRACE_NO_TIMESTAMP)
#if (AUTO_TEST_MODE == AUTOTEST_SERIAL)
#define trace cnxt_autotest_output
#endif
void WINDBG_FileWriteString(char *s)
{
#ifndef DEBUG_BLINDSCAN
trace_new( TRACE_FLAG, "%s", s);
#else
trace( "%s", s);
#endif
return;
}
void WINDBG_FileWriteInteger(unsigned long value, unsigned char c)
{
switch(c)
{
case 'u':
#ifndef DEBUG_BLINDSCAN
trace_new( TRACE_FLAG, "%lu", value);
#else
trace("%lu",value);
#endif
break;
case 'X':
case 'x':
#ifndef DEBUG_BLINDSCAN
trace_new( TRACE_FLAG, "0x%x", value);
#else
trace("0x%x",value);
#endif
break;
case 'd':
default:
#ifndef DEBUG_BLINDSCAN
trace_new( TRACE_FLAG, "%ld", value);
#else
trace("%ld",value);
#endif
break;
}
return;
}
void WINDBG_FileWriteByte(char value)
{
#ifndef DEBUG_BLINDSCAN
trace_new( TRACE_FLAG, "%d", value);
#else
trace("%d",value);
#endif
}
void WINDBG_FileWriteNewLine()
{
#ifndef DEBUG_BLINDSCAN
trace_new( TRACE_FLAG, "\r\n");
#else
trace("\r\n");
#endif
return;
}
void WINDBG_FileWriteDouble(double value)
{
#ifndef DEBUG_BLINDSCAN
trace_new( TRACE_FLAG, "%f", value);
#else
trace("%f",value);
#endif
return;
}
u_int8 WINDBG_FileInit(char *s)
{
return TRUE;
}
void WINDBG_FileClose()
{
return;
}
static clock_t start;
void WINDBG_SetTimer(void)
{
start = clock();
}
void WINDBG_FileWriteDuration(void)
{
clock_t finish;
int duration;
finish = clock();
duration = (finish - start) / CLOCKS_PER_SEC;
WINDBG_FileWriteString("Time taken: ");
task_time_sleep(10);
#ifndef DEBUG_BLINDSCAN
trace_new( TRACE_FLAG, "%d seconds", duration);
#else
trace( "%d seconds", duration);
#endif
task_time_sleep(10);
WINDBG_FileWriteNewLine();
}
/*****************************************************************************/
/* HIGH LEVEL DEBUG FUNCTIONS FOR SCAN-THE-SKY */
/*****************************************************************************/
void
WINDBG_WriteIntegerLn(char* message, int value)
{
task_time_sleep(4);
WINDBG_FileWriteString(message);
WINDBG_FileWriteInteger(value, 'd');
WINDBG_FileWriteNewLine();
}
void
WINDBG_WriteUnsignedLn(char* message, unsigned long value)
{
task_time_sleep(4);
WINDBG_FileWriteString(message);
WINDBG_FileWriteInteger(value, 'u');
WINDBG_FileWriteNewLine();
}
void
WINDBG_WriteUnsigned(char* message, unsigned long value)
{
task_time_sleep(4);
WINDBG_FileWriteString(message);
WINDBG_FileWriteInteger(value, 'u');
}
/*****************************************************************************/
void
WINDBG_WriteInteger(char* message, int value)
{
task_time_sleep(4);
WINDBG_FileWriteString(message);
WINDBG_FileWriteInteger(value, 'd');
}
void
WINDBG_WriteHex(char* message, int value)
{
task_time_sleep(4);
WINDBG_FileWriteString(message);
WINDBG_FileWriteInteger(value, 'x');
}
/*****************************************************************************/
/* STSDBG_WriteString */
/* DEBUG function */
/*****************************************************************************/
void
WINDBG_WriteString(char* message, BOOL newline)
{
task_time_sleep(4);
WINDBG_FileWriteString(message);
if (newline == TRUE)
{
WINDBG_FileWriteNewLine();
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -