was used for test, not anymore
This commit is contained in:
parent
e981669522
commit
270c7d5aa1
52
backtrace.c
52
backtrace.c
@ -1,52 +0,0 @@
|
|||||||
#include <execinfo.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
|
|
||||||
void myfunc3(void)
|
|
||||||
{
|
|
||||||
int j, nptrs;
|
|
||||||
#define SIZE 100
|
|
||||||
void *buffer[100];
|
|
||||||
char **strings;
|
|
||||||
|
|
||||||
nptrs = backtrace(buffer, SIZE);
|
|
||||||
printf("backtrace() returned %d addresses\n", nptrs);
|
|
||||||
|
|
||||||
/* The call backtrace_symbols_fd(buffer, nptrs, STDOUT_FILENO)
|
|
||||||
would produce similar output to the following: */
|
|
||||||
|
|
||||||
strings = backtrace_symbols(buffer, nptrs);
|
|
||||||
if (strings == NULL) {
|
|
||||||
perror("backtrace_symbols");
|
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
for (j = 0; j < nptrs; j++)
|
|
||||||
printf("%s\n", strings[j]);
|
|
||||||
|
|
||||||
free(strings);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void myfunc2(void)
|
|
||||||
{
|
|
||||||
myfunc3();
|
|
||||||
}
|
|
||||||
|
|
||||||
void myfunc(int ncalls)
|
|
||||||
{
|
|
||||||
if (ncalls > 1)
|
|
||||||
myfunc(ncalls - 1);
|
|
||||||
else
|
|
||||||
myfunc2();
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
|
||||||
{
|
|
||||||
if (argc != 2) {
|
|
||||||
fprintf(stderr, "%s num-calls\n", argv[0]);
|
|
||||||
exit(EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
myfunc(atoi(argv[1]));
|
|
||||||
exit(EXIT_SUCCESS);
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user