minix/servers/inet/stacktrace.c
2005-04-21 14:53:53 +00:00

36 lines
509 B
C

/*
stacktrace.c
Created: Jan 19, 1993 by Philip Homburg
Copyright 1995 Philip Homburg
*/
#include "inet.h"
PUBLIC void stacktrace()
{
typedef unsigned int reg_t;
reg_t bp, pc, hbp;
extern reg_t get_bp ARGS(( void ));
bp= get_bp();
while(bp)
{
pc= ((reg_t *)bp)[1];
hbp= ((reg_t *)bp)[0];
printf("0x%lx ", (unsigned long)pc);
if (hbp != 0 && hbp <= bp)
{
printf("???");
break;
}
bp= hbp;
}
printf("\n");
}
/*
* $PchId: stacktrace.c,v 1.6 1996/05/07 21:11:34 philip Exp $
*/