C API for determining the call-chain of a program
libunwind
$ gcc -o myprogram myprogram.c -lunwind
$ gcc -o stacktrace stacktrace.c -lunwind -ldl
$ pkg-config --cflags --libs libunwind