satyr 0.43
Loading...
Searching...
No Matches
stacktrace.h File Reference

Stack trace. More...

#include "report_type.h"
#include <json.h>

Go to the source code of this file.

Data Structures

struct  sr_stacktrace

Enumerations

enum  sr_bthash_flags { SR_BTHASH_NORMAL = 1 << 0 , SR_BTHASH_NOHASH = 1 << 1 }

Functions

struct sr_stacktracesr_stacktrace_parse (enum sr_report_type type, const char *input, char **error_message)
char * sr_stacktrace_to_short_text (struct sr_stacktrace *stacktrace, int max_frames)
struct sr_threadsr_stacktrace_find_crash_thread (struct sr_stacktrace *stacktrace)
struct sr_threadsr_stacktrace_threads (struct sr_stacktrace *stacktrace)
void sr_stacktrace_set_threads (struct sr_stacktrace *stacktrace, struct sr_thread *threads)
char * sr_stacktrace_to_json (struct sr_stacktrace *stacktrace)
struct sr_stacktracesr_stacktrace_from_json (enum sr_report_type, json_object *root, char **error_message)
struct sr_stacktracesr_stacktrace_from_json_text (enum sr_report_type, const char *input, char **error_message)
char * sr_stacktrace_get_reason (struct sr_stacktrace *stacktrace)
char * sr_stacktrace_get_bthash (struct sr_stacktrace *stacktrace, enum sr_bthash_flags flags)
void sr_stacktrace_free (struct sr_stacktrace *stacktrace)

Detailed Description

Stack trace.

Definition in file stacktrace.h.

Enumeration Type Documentation

◆ sr_bthash_flags

enum sr_bthash_flags

Definition at line 56 of file stacktrace.h.

Function Documentation

◆ sr_stacktrace_find_crash_thread()

struct sr_thread * sr_stacktrace_find_crash_thread ( struct sr_stacktrace * stacktrace)

Returns the thread structure that (probably) caused the crash.

References sr_stacktrace_find_crash_thread().

Referenced by sr_stacktrace_find_crash_thread().

◆ sr_stacktrace_free()

void sr_stacktrace_free ( struct sr_stacktrace * stacktrace)

Releases all the memory associated with the stacktrace pointer.

References sr_stacktrace_free().

Referenced by sr_stacktrace_free().

◆ sr_stacktrace_from_json()

struct sr_stacktrace * sr_stacktrace_from_json ( enum sr_report_type,
json_object * root,
char ** error_message )

Deserialize stacktrace from its json representation.

References sr_stacktrace_from_json().

Referenced by sr_stacktrace_from_json().

◆ sr_stacktrace_from_json_text()

struct sr_stacktrace * sr_stacktrace_from_json_text ( enum sr_report_type,
const char * input,
char ** error_message )

Deserialize stacktrace from its json representation.

References sr_stacktrace_from_json_text().

Referenced by sr_stacktrace_from_json_text().

◆ sr_stacktrace_get_bthash()

char * sr_stacktrace_get_bthash ( struct sr_stacktrace * stacktrace,
enum sr_bthash_flags flags )

Returns hash of a backtrace. This is a hash in the usual sense that the same stacktraces always have the same hash while two distinct stacktraces have negligible probability of having the same hash. The string is allocated by g_malloc().

References sr_stacktrace_get_bthash().

Referenced by sr_stacktrace_get_bthash().

◆ sr_stacktrace_get_reason()

char * sr_stacktrace_get_reason ( struct sr_stacktrace * stacktrace)

Returns brief, human-readable explanation of the stacktrace.

References sr_stacktrace_get_reason().

Referenced by sr_stacktrace_get_reason().

◆ sr_stacktrace_parse()

struct sr_stacktrace * sr_stacktrace_parse ( enum sr_report_type type,
const char * input,
char ** error_message )

Parses the stacktrace pointed to by input. You need to provide the correct stacktrace type in the first parameter.

References sr_stacktrace_parse().

Referenced by sr_stacktrace_parse().

◆ sr_stacktrace_set_threads()

void sr_stacktrace_set_threads ( struct sr_stacktrace * stacktrace,
struct sr_thread * threads )

Set the threads linked list pointer.

References sr_stacktrace_set_threads().

Referenced by sr_stacktrace_set_threads().

◆ sr_stacktrace_threads()

struct sr_thread * sr_stacktrace_threads ( struct sr_stacktrace * stacktrace)

Returns pointer to the first thread.

References sr_stacktrace_threads().

Referenced by sr_stacktrace_threads().

◆ sr_stacktrace_to_json()

char * sr_stacktrace_to_json ( struct sr_stacktrace * stacktrace)

Convert stacktrace to json and return it as text.

References sr_stacktrace_to_json().

Referenced by sr_stacktrace_to_json().

◆ sr_stacktrace_to_short_text()

char * sr_stacktrace_to_short_text ( struct sr_stacktrace * stacktrace,
int max_frames )

Returns short textual representation of given stacktrace. At most max_frames are printed. Caller needs to free the result using g_free() afterwards.

References sr_stacktrace_to_short_text().

Referenced by sr_stacktrace_to_short_text().