satyr 0.42
Loading...
Searching...
No Matches
gdb/thread.h
Go to the documentation of this file.
1/*
2 gdb_thread.h
3
4 Copyright (C) 2010 Red Hat, Inc.
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License along
17 with this program; if not, write to the Free Software Foundation, Inc.,
18 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
19*/
20#ifndef SATYR_GDB_THREAD_H
21#define SATYR_GDB_THREAD_H
22
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32#include "../report_type.h"
33#include <stdbool.h>
34#include <stdint.h>
35#include <glib.h>
36
37struct sr_gdb_frame;
38struct sr_location;
39struct sr_gdb_sharedlib;
40
47{
48 enum sr_report_type type;
49
50 uint32_t number;
51
56
62
67 uint32_t tid;
68};
69
76struct sr_gdb_thread *
78
85void
87
94void
96
107struct sr_gdb_thread *
109 bool siblings);
110
119int
121 struct sr_gdb_thread *thread2);
122
128struct sr_gdb_thread *
130 struct sr_gdb_thread *item);
131
141void
143 int *ok_count,
144 int *all_count);
145
158float
160
167bool
169 struct sr_gdb_frame *frame);
170
179bool
181 struct sr_gdb_frame *frame);
182
186void
188 int n);
189
193void
195 GString *dest,
196 bool verbose);
197
213struct sr_gdb_thread *
214sr_gdb_thread_parse(const char **input,
215 struct sr_location *location);
216
227int
228sr_gdb_thread_parse_lwp(const char **input, uint32_t *tid);
229
233int
234sr_gdb_thread_skip_lwp(const char **input);
235
245struct sr_gdb_thread *
246sr_gdb_thread_parse_funs(const char *input);
247
256char *
258
263void
265 struct sr_gdb_sharedlib *libs);
266
270struct sr_gdb_thread *
272 struct sr_gdb_sharedlib *libs, int max_frames);
273#ifdef __cplusplus
274}
275#endif
276
277#endif
bool sr_gdb_thread_remove_frames_above(struct sr_gdb_thread *thread, struct sr_gdb_frame *frame)
char * sr_gdb_thread_format_funs(struct sr_gdb_thread *thread)
void sr_gdb_thread_set_libnames(struct sr_gdb_thread *thread, struct sr_gdb_sharedlib *libs)
struct sr_gdb_thread * sr_gdb_thread_new(void)
void sr_gdb_thread_init(struct sr_gdb_thread *thread)
void sr_gdb_thread_free(struct sr_gdb_thread *thread)
void sr_gdb_thread_quality_counts(struct sr_gdb_thread *thread, int *ok_count, int *all_count)
struct sr_gdb_thread * sr_gdb_thread_parse_funs(const char *input)
int sr_gdb_thread_parse_lwp(const char **input, uint32_t *tid)
int sr_gdb_thread_cmp(struct sr_gdb_thread *thread1, struct sr_gdb_thread *thread2)
void sr_gdb_thread_remove_frames_below_n(struct sr_gdb_thread *thread, int n)
struct sr_gdb_thread * sr_gdb_thread_parse(const char **input, struct sr_location *location)
float sr_gdb_thread_quality(struct sr_gdb_thread *thread)
struct sr_gdb_thread * sr_gdb_thread_dup(struct sr_gdb_thread *thread, bool siblings)
struct sr_gdb_thread * sr_gdb_thread_get_optimized(struct sr_gdb_thread *thread, struct sr_gdb_sharedlib *libs, int max_frames)
int sr_gdb_thread_skip_lwp(const char **input)
void sr_gdb_thread_append_to_str(struct sr_gdb_thread *thread, GString *dest, bool verbose)
bool sr_gdb_thread_remove_frame(struct sr_gdb_thread *thread, struct sr_gdb_frame *frame)
struct sr_gdb_thread * sr_gdb_thread_append(struct sr_gdb_thread *dest, struct sr_gdb_thread *item)
A function call of a GDB-produced stack trace.
Definition: gdb/frame.h:48
A shared library memory location as reported by GDB.
Definition: sharedlib.h:46
A thread of execution of a GDB-produced stack trace.
Definition: gdb/thread.h:47
uint32_t tid
Definition: gdb/thread.h:67
struct sr_gdb_thread * next
Definition: gdb/thread.h:61
struct sr_gdb_frame * frames
Definition: gdb/thread.h:55
A location of a parser in the input stream.
Definition: location.h:43