init ems server code
This commit is contained in:
52
plat/public/src/pub_debug.c
Normal file
52
plat/public/src/pub_debug.c
Normal file
@@ -0,0 +1,52 @@
|
||||
//////////////////////////////////////////////////
|
||||
//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@*/
|
||||
|
||||
Reference in New Issue
Block a user