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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user