Blame view

kernel/linux-rt-4.4.41/tools/lib/lockdep/uinclude/linux/stacktrace.h 639 Bytes
5113f6f70   김현기   kernel add
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
  #ifndef _LIBLOCKDEP_LINUX_STACKTRACE_H_
  #define _LIBLOCKDEP_LINUX_STACKTRACE_H_
  
  #include <execinfo.h>
  
  struct stack_trace {
  	unsigned int nr_entries, max_entries;
  	unsigned long *entries;
  	int skip;
  };
  
  static inline void print_stack_trace(struct stack_trace *trace, int spaces)
  {
  	backtrace_symbols_fd((void **)trace->entries, trace->nr_entries, 1);
  }
  
  #define save_stack_trace(trace)	\
  	((trace)->nr_entries =	\
  		backtrace((void **)(trace)->entries, (trace)->max_entries))
  
  static inline int dump_stack(void)
  {
  	void *array[64];
  	size_t size;
  
  	size = backtrace(array, 64);
  	backtrace_symbols_fd(array, size, 1);
  
  	return 0;
  }
  
  #endif