Back to index

glibc  2.9
Functions
backtrace-tst.c File Reference
#include <execinfo.h>
#include <inttypes.h>
#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Functions

static int compare (const void *p1, const void *p2)
int main (int argc, char *argv[])

Function Documentation

static int compare ( const void *  p1,
const void *  p2 
) [static]

Definition at line 8 of file backtrace-tst.c.

{
  void *ba[20];
  int n = backtrace (ba, sizeof (ba) / sizeof (ba[0]));
  if (n != 0)
    {
      char **names = backtrace_symbols (ba, n);
      if (names != NULL)
       {
         int i;
         printf ("called from %s\n", names[0]);
         for (i = 1; i < n; ++i)
           printf ("            %s\n", names[i]);
         free (names);
       }
    }

  return *(const uint32_t *) p1 - *(const uint32_t *) p2;
}

Here is the call graph for this function:

Here is the caller graph for this function:

int main ( int  argc,
char *  argv[] 
)

Definition at line 30 of file backtrace-tst.c.

{
  uint32_t arr[20];
  size_t cnt;

  for (cnt = 0; cnt < sizeof (arr) / sizeof (arr[0]); ++cnt)
    arr[cnt] = random ();

  qsort (arr, sizeof (arr) / sizeof (arr[0]), sizeof (arr[0]), compare);

  for (cnt = 0; cnt < sizeof (arr) / sizeof (arr[0]); ++cnt)
    printf ("%" PRIx32 "\n", arr[cnt]);

  return 0;
}

Here is the call graph for this function: