📄 cyg_trac.h
字号:
#define CYG_REPORT_RETURN() CYG_MACRO_START \ cyg_tracefunction_report_.lnum = __LINE__; \ if ( cyg_tracefunction_report_.cond ) \ cyg_tracenomsg( cyg_tracefunction_report_.func, \ cyg_tracefunction_report_.file, \ cyg_tracefunction_report_.lnum ); \CYG_MACRO_END#define CYG_REPORT_RETVAL( _value_ ) CYG_MACRO_START \ CYG_REPORT_RETURN(); \CYG_MACRO_END#endif // not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE#endif // not __cplusplus#ifdef CYGDBG_INFRA_DEBUG_TRACE_MESSAGE#define CYG_REPORT_FUNCARGVOID() CYG_MACRO_START \ if ( cyg_tracefunction_report_.cond ) \ cyg_tracemsg( cyg_trace_args, \ cyg_tracefunction_report_.func, \ cyg_tracefunction_report_.file, \ cyg_tracefunction_report_.lnum, \ "(void)" \ ); \CYG_MACRO_END#define CYG_REPORT_FUNCARG1( _format_, a ) CYG_MACRO_START \ if ( cyg_tracefunction_report_.cond ) \ cyg_tracemsg2( cyg_trace_args, \ cyg_tracefunction_report_.func, \ cyg_tracefunction_report_.file, \ cyg_tracefunction_report_.lnum, \ (_format_), \ (CYG_ADDRWORD)a , 0 \ ); \CYG_MACRO_END #define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_MACRO_START \ if ( cyg_tracefunction_report_.cond ) \ cyg_tracemsg2( cyg_trace_args, \ cyg_tracefunction_report_.func, \ cyg_tracefunction_report_.file, \ cyg_tracefunction_report_.lnum, \ (_format_), \ (CYG_ADDRWORD)a, (CYG_ADDRWORD)b \ ); \CYG_MACRO_END#define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_MACRO_START \ if ( cyg_tracefunction_report_.cond ) \ cyg_tracemsg4( cyg_trace_args, \ cyg_tracefunction_report_.func, \ cyg_tracefunction_report_.file, \ cyg_tracefunction_report_.lnum, \ (_format_), \ (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ (CYG_ADDRWORD)c , 0 \ ); \CYG_MACRO_END#define CYG_REPORT_FUNCARG4( _format_, a,b,c,d ) CYG_MACRO_START \ if ( cyg_tracefunction_report_.cond ) \ cyg_tracemsg4( cyg_trace_args, \ cyg_tracefunction_report_.func, \ cyg_tracefunction_report_.file, \ cyg_tracefunction_report_.lnum, \ (_format_), \ (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ (CYG_ADDRWORD)c, (CYG_ADDRWORD)d \ ); \CYG_MACRO_END#define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_MACRO_START \ if ( cyg_tracefunction_report_.cond ) \ cyg_tracemsg6( cyg_trace_args, \ cyg_tracefunction_report_.func, \ cyg_tracefunction_report_.file, \ cyg_tracefunction_report_.lnum, \ (_format_), \ (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \ (CYG_ADDRWORD)e , 0 \ ); \CYG_MACRO_END#define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_MACRO_START \ if ( cyg_tracefunction_report_.cond ) \ cyg_tracemsg6( cyg_trace_args, \ cyg_tracefunction_report_.func, \ cyg_tracefunction_report_.file, \ cyg_tracefunction_report_.lnum, \ (_format_), \ (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \ (CYG_ADDRWORD)e, (CYG_ADDRWORD)f \ ); \CYG_MACRO_END#define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_MACRO_START \ if ( cyg_tracefunction_report_.cond ) \ cyg_tracemsg8( cyg_trace_args, \ cyg_tracefunction_report_.func, \ cyg_tracefunction_report_.file, \ cyg_tracefunction_report_.lnum, \ (_format_), \ (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \ (CYG_ADDRWORD)e, (CYG_ADDRWORD)f, \ (CYG_ADDRWORD)g , 0 \ ); \CYG_MACRO_END#define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_MACRO_START\ if ( cyg_tracefunction_report_.cond ) \ cyg_tracemsg8( cyg_trace_args, \ cyg_tracefunction_report_.func, \ cyg_tracefunction_report_.file, \ cyg_tracefunction_report_.lnum, \ (_format_), \ (CYG_ADDRWORD)a, (CYG_ADDRWORD)b, \ (CYG_ADDRWORD)c, (CYG_ADDRWORD)d, \ (CYG_ADDRWORD)e, (CYG_ADDRWORD)f, \ (CYG_ADDRWORD)g, (CYG_ADDRWORD)h \ ); \CYG_MACRO_END#else // do not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE#define CYG_REPORT_FUNCARGVOID() CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG1( _format_, a ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG4( _format_, a,b,c,d ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT#endif // not CYGDBG_INFRA_DEBUG_TRACE_MESSAGE#else // no CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS#define CYG_REPORT_FUNCTION() CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCTYPE( _exitmsg_ ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCNAME( _name_ ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCTIONC() CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCNAMEC( _name_ ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARGVOID() CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG1( _format_, a ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG4( _format_, a,b,c,d ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT#define CYG_REPORT_RETURN() CYG_EMPTY_STATEMENT#define CYG_REPORT_RETVAL( _value_ ) CYG_EMPTY_STATEMENT #endif // CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS #else // ! CYGDBG_USE_TRACING// -------------------------------------------------------------------------// No traces: we define empty statements for trace macros.#define CYG_TRACE0( _bool_, _msg_ ) CYG_EMPTY_STATEMENT#define CYG_TRACE1( _bool_, _msg_, a ) CYG_EMPTY_STATEMENT#define CYG_TRACE2( _bool_, _msg_, a,b ) CYG_EMPTY_STATEMENT#define CYG_TRACE3( _bool_, _msg_, a,b,c ) CYG_EMPTY_STATEMENT#define CYG_TRACE4( _bool_, _msg_, a,b,c,d ) CYG_EMPTY_STATEMENT#define CYG_TRACE5( _bool_, _msg_, a,b,c,d,e ) CYG_EMPTY_STATEMENT#define CYG_TRACE6( _bool_, _msg_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT#define CYG_TRACE7( _bool_, _msg_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT#define CYG_TRACE8( _bool_, _msg_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCTION() CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCTYPE( _exitmsg_ ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCNAME( _name_ ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCNAMETYPE( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCTIONC() CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCTYPEC( _exitmsg_ ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCNAMEC( _name_ ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCNAMETYPEC( _name_, _exitmsg_ ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARGVOID() CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG1( _format_, a ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG2( _format_, a,b ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG3( _format_, a,b,c ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG4( _format_, a,b,c,d ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG5( _format_, a,b,c,d,e ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG6( _format_, a,b,c,d,e,f ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG7( _format_, a,b,c,d,e,f,g ) CYG_EMPTY_STATEMENT#define CYG_REPORT_FUNCARG8( _format_, a,b,c,d,e,f,g,h ) CYG_EMPTY_STATEMENT#define CYG_REPORT_RETURN() CYG_EMPTY_STATEMENT#define CYG_REPORT_RETVAL( _value_ ) CYG_EMPTY_STATEMENT#define CYG_TRACE_PRINT() CYG_EMPTY_STATEMENT#define CYG_TRACE_DUMP() CYG_EMPTY_STATEMENT#endif // ! CYGDBG_USE_TRACING// -------------------------------------------------------------------------//// CYG_TRACEn{[XDY]{V}}{B}//// Convenience macros: these fall into a few dimensions, with suffix letters:// First option:// X: user need not supply a format string, %08x is used// D: ditto but signed decimal, %d// Y: ditto but just plain %x// Second option, only meaningful with one of XDY:// V: "<var> = %..." is used, by stringifying the argument// Third option:// B: user need not supply a bool; the symbol CYG_TRACE_USER_BOOL is// used (which we do not define, user must do this)#define CYG_TRACE0B( _msg_ ) \ CYG_TRACE0( CYG_TRACE_USER_BOOL, _msg_ ) #define CYG_TRACE1B( _msg_, a ) \ CYG_TRACE1( CYG_TRACE_USER_BOOL, _msg_, a ) #define CYG_TRACE2B( _msg_, a,b ) \ CYG_TRACE2( CYG_TRACE_USER_BOOL, _msg_, a,b ) #define CYG_TRACE3B( _msg_, a,b,c ) \ CYG_TRACE3( CYG_TRACE_USER_BOOL, _msg_, a,b,c ) #define CYG_TRACE4B( _msg_, a,b,c,d ) \ CYG_TRACE4( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d ) #define CYG_TRACE5B( _msg_, a,b,c,d,e ) \ CYG_TRACE5( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e ) #define CYG_TRACE6B( _msg_, a,b,c,d,e,f ) \ CYG_TRACE6( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e,f ) #define CYG_TRACE7B( _msg_, a,b,c,d,e,f,g ) \ CYG_TRACE7( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e,f,g ) #define CYG_TRACE8B( _msg_, a,b,c,d,e,f,g,h ) \ CYG_TRACE8( CYG_TRACE_USER_BOOL, _msg_, a,b,c,d,e,f,g,h ) // long hex versions#define CYG_TRACE1X( _bool_, a ) \ CYG_TRACE1( _bool_, "%08x", a ) #define CYG_TRACE2X( _bool_, a,b ) \ CYG_TRACE2( _bool_, "%08x %08x", a,b ) #define CYG_TRACE3X( _bool_, a,b,c ) \ CYG_TRACE3( _bool_, "%08x %08x %08x", a,b,c ) #define CYG_TRACE4X( _bool_, a,b,c,d ) \ CYG_TRACE4( _bool_, "%08x %08x %08x %08x", a,b,c,d ) #define CYG_TRACE5X( _bool_, a,b,c,d,e ) \ CYG_TRACE5( _bool_, "%08x %08x %08x %08x %08x", a,b,c,d,e ) #define CYG_TRACE6X( _bool_, a,b,c,d,e,f ) \ CYG_TRACE6( _bool_, "%08x %08x %08x %08x %08x %08x", \ a,b,c,d,e,f ) #define CYG_TRACE7X( _bool_, a,b,c,d,e,f,g ) \ CYG_TRACE7( _bool_, "%08x %08x %08x %08x %08x %08x %08x", \ a,b,c,d,e,f,g ) #define CYG_TRACE8X( _bool_, a,b,c,d,e,f,g,h ) \ CYG_TRACE8( _bool_, "%08x %08x %08x %08x %08x %08x %08x %08x", \ a,b,c,d,e,f,g,h )#define CYG_TRACE1XV( _bool_, a ) \ CYG_TRACE1( _bool_, # a "=%08x ", a ) #define CYG_TRACE2XV( _bool_, a,b ) \ CYG_TRACE2( _bool_, \ # a "=%08x " # b "=%08x " , a,b )#define CYG_TRACE3XV( _bool_, a,b,c ) \ CYG_TRACE3( _bool_, \ # a "=%08x " # b "=%08x " # c "=%08x " , a,b,c )#define CYG_TRACE4XV( _bool_, a,b,c,d ) \ CYG_TRACE4( _bool_, \ # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ , a,b,c,d )#define CYG_TRACE5XV( _bool_, a,b,c,d,e ) \ CYG_TRACE5( _bool_, \ # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ # e "=%08x " \ , a,b,c,d,e )#define CYG_TRACE6XV( _bool_, a,b,c,d,e,f ) \ CYG_TRACE6( _bool_, \ # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ # e "=%08x " # f "=%08x " \ , a,b,c,d,e,f ) #define CYG_TRACE7XV( _bool_, a,b,c,d,e,f,g ) \ CYG_TRACE7( _bool_, \ # a "=%08x " # b "=%08x " # c "=%08x " # d "=%08x " \ # e "=%08x " # f "=%08x " # g "=%08x " \ , a,b,c,d,e,f,g ) #define CYG_TRACE8XV( _bool_, a,b,c,d,e,f,g,h ) \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -