Files
svc.ems/plat/public/src/pub_debug.c
2024-09-27 15:39:34 +08:00

53 lines
1.1 KiB
C

//////////////////////////////////////////////////
//Title : wxc_debug.c
//Auhtor : Liu Wei
//Desc : wxc debug api implemetation
//Created : 2007-05-01
//Revision :
//
//Revision :
//
//////////////////////////////////////////////////
#include "./include/pub_debug.h"
/*@ignore@*/
void WxcDump( int nSigno )
{
char buf[1024];
char cmd[1024];
FILE *fh;
snprintf ( buf, sizeof ( buf ), "/proc/%d/cmdline", getpid ( ) );
fh = fopen ( buf, "r" );
if ( fh == NULL )
exit ( 0 );
if ( NULL == (fgets ( buf, sizeof ( buf ), fh ) ))
exit ( 0 );
fclose ( fh );
if ( buf[strlen ( buf ) - 1] == '\n' )
buf[strlen ( buf ) - 1] = '\0';
snprintf ( cmd, sizeof ( cmd ), "gdb %s %d", buf, getpid ( ) );
system ( cmd );
exit ( 0 );
}
void WxcBackTrace( )
{
int i;
void *array[25];
int nSize = backtrace ( array, 25 );
char **symbols = backtrace_symbols ( array, nSize );
for ( i = 0; i < nSize; i++ )
{
printf ( "%s \n", symbols[i] );
}
free ( symbols );
}
/*@end@*/