File: autoconf-save-stack-trace.c

package info (click to toggle)
systemtap 1.2-5%2Bsqueeze1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 13,972 kB
  • ctags: 7,842
  • sloc: ansic: 35,121; cpp: 29,336; exp: 7,535; xml: 6,878; sh: 6,719; perl: 2,067; tcl: 821; makefile: 545; python: 473; ruby: 419
file content (22 lines) | stat: -rw-r--r-- 501 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <linux/string.h>
#include <linux/sched.h>
#include <linux/stacktrace.h>
#include <asm/stacktrace.h>

void foo(struct task_struct *foo)
{
  struct stack_trace trace;
  unsigned long backtrace[20];
  memset(&trace, 0, sizeof(trace));
  trace.entries = &backtrace[0];
  trace.max_entries = 20;
  trace.skip = 0;
  save_stack_trace_tsk(foo, &trace);
}

static const struct stacktrace_ops print_stack_ops;

void dumper(struct task_struct *foo)
{
  dump_trace(foo, 0, 0, 0, &print_stack_ops, 0);
}