hc
2023-11-06 15ade055295d13f95d49e3d99b09f3bbfb4a43e7
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Copyright (C) 1988-2021 Free Software Foundation, Inc.
 
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being "Free Software" and "Free Software Needs
Free Documentation", with the Front-Cover Texts being "A GNU Manual,"
and with the Back-Cover Texts as in (a) below.
 
(a) The FSF's Back-Cover Text is: "You are free to copy and modify
this GNU Manual.  Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom." -->
<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Debugging with GDB: Frame Filter Management</title>
 
<meta name="description" content="Debugging with GDB: Frame Filter Management">
<meta name="keywords" content="Debugging with GDB: Frame Filter Management">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-Index.html#Concept-Index" rel="index" title="Concept Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Stack.html#Stack" rel="up" title="Stack">
<link href="Source.html#Source" rel="next" title="Source">
<link href="Frame-Apply.html#Frame-Apply" rel="previous" title="Frame Apply">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
 
 
</head>
 
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Frame-Filter-Management"></a>
<div class="header">
<p>
Previous: <a href="Frame-Apply.html#Frame-Apply" accesskey="p" rel="previous">Frame Apply</a>, Up: <a href="Stack.html#Stack" accesskey="u" rel="up">Stack</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Management-of-Frame-Filters"></a>
<h3 class="section">8.6 Management of Frame Filters</h3>
<a name="index-managing-frame-filters"></a>
 
<p>Frame filters are Python based utilities to manage and decorate the
output of frames.  See <a href="Frame-Filter-API.html#Frame-Filter-API">Frame Filter API</a>, for further information.
</p>
<p>Managing frame filters is performed by several commands available
within <small>GDB</small>, detailed here.
</p>
<dl compact="compact">
<dd><a name="index-info-frame_002dfilter"></a>
</dd>
<dt><code>info frame-filter</code></dt>
<dd><p>Print a list of installed frame filters from all dictionaries, showing
their name, priority and enabled status.
</p>
<a name="index-disable-frame_002dfilter"></a>
<a name="disable-frame_002dfilter-all"></a></dd>
<dt><code>disable frame-filter <var>filter-dictionary</var> <var>filter-name</var></code></dt>
<dd><p>Disable a frame filter in the dictionary matching
<var>filter-dictionary</var> and <var>filter-name</var>.  The
<var>filter-dictionary</var> may be <code>all</code>, <code>global</code>,
<code>progspace</code>, or the name of the object file where the frame filter
dictionary resides.  When <code>all</code> is specified, all frame filters
across all dictionaries are disabled.  The <var>filter-name</var> is the name
of the frame filter and is used when <code>all</code> is not the option for
<var>filter-dictionary</var>.  A disabled frame-filter is not deleted, it
may be enabled again later.
</p>
<a name="index-enable-frame_002dfilter"></a>
</dd>
<dt><code>enable frame-filter <var>filter-dictionary</var> <var>filter-name</var></code></dt>
<dd><p>Enable a frame filter in the dictionary matching
<var>filter-dictionary</var> and <var>filter-name</var>.  The
<var>filter-dictionary</var> may be <code>all</code>, <code>global</code>,
<code>progspace</code> or the name of the object file where the frame filter
dictionary resides.  When <code>all</code> is specified, all frame filters across
all dictionaries are enabled.  The <var>filter-name</var> is the name of the frame
filter and is used when <code>all</code> is not the option for
<var>filter-dictionary</var>.
</p>
<p>Example:
</p>
<div class="smallexample">
<pre class="smallexample">(gdb) info frame-filter
 
global frame-filters:
  Priority  Enabled  Name
  1000      No       PrimaryFunctionFilter
  100       Yes      Reverse
 
progspace /build/test frame-filters:
  Priority  Enabled  Name
  100       Yes      ProgspaceFilter
 
objfile /build/test frame-filters:
  Priority  Enabled  Name
  999       Yes      BuildProgramFilter
 
(gdb) disable frame-filter /build/test BuildProgramFilter
(gdb) info frame-filter
 
global frame-filters:
  Priority  Enabled  Name
  1000      No       PrimaryFunctionFilter
  100       Yes      Reverse
 
progspace /build/test frame-filters:
  Priority  Enabled  Name
  100       Yes      ProgspaceFilter
 
objfile /build/test frame-filters:
  Priority  Enabled  Name
  999       No       BuildProgramFilter
 
(gdb) enable frame-filter global PrimaryFunctionFilter
(gdb) info frame-filter
 
global frame-filters:
  Priority  Enabled  Name
  1000      Yes      PrimaryFunctionFilter
  100       Yes      Reverse
 
progspace /build/test frame-filters:
  Priority  Enabled  Name
  100       Yes      ProgspaceFilter
 
objfile /build/test frame-filters:
  Priority  Enabled  Name
  999       No       BuildProgramFilter
</pre></div>
 
<a name="index-set-frame_002dfilter-priority"></a>
</dd>
<dt><code>set frame-filter priority <var>filter-dictionary</var> <var>filter-name</var> <var>priority</var></code></dt>
<dd><p>Set the <var>priority</var> of a frame filter in the dictionary matching
<var>filter-dictionary</var>, and the frame filter name matching
<var>filter-name</var>.  The <var>filter-dictionary</var> may be <code>global</code>,
<code>progspace</code> or the name of the object file where the frame filter
dictionary resides.  The <var>priority</var> is an integer.
</p>
<a name="index-show-frame_002dfilter-priority"></a>
</dd>
<dt><code>show frame-filter priority <var>filter-dictionary</var> <var>filter-name</var></code></dt>
<dd><p>Show the <var>priority</var> of a frame filter in the dictionary matching
<var>filter-dictionary</var>, and the frame filter name matching
<var>filter-name</var>.  The <var>filter-dictionary</var> may be <code>global</code>,
<code>progspace</code> or the name of the object file where the frame filter
dictionary resides.
</p>
<p>Example:
</p>
<div class="smallexample">
<pre class="smallexample">(gdb) info frame-filter
 
global frame-filters:
  Priority  Enabled  Name
  1000      Yes      PrimaryFunctionFilter
  100       Yes      Reverse
 
progspace /build/test frame-filters:
  Priority  Enabled  Name
  100       Yes      ProgspaceFilter
 
objfile /build/test frame-filters:
  Priority  Enabled  Name
  999       No       BuildProgramFilter
 
(gdb) set frame-filter priority global Reverse 50
(gdb) info frame-filter
 
global frame-filters:
  Priority  Enabled  Name
  1000      Yes      PrimaryFunctionFilter
  50        Yes      Reverse
 
progspace /build/test frame-filters:
  Priority  Enabled  Name
  100       Yes      ProgspaceFilter
 
objfile /build/test frame-filters:
  Priority  Enabled  Name
  999       No       BuildProgramFilter
</pre></div>
</dd>
</dl>
 
<hr>
<div class="header">
<p>
Previous: <a href="Frame-Apply.html#Frame-Apply" accesskey="p" rel="previous">Frame Apply</a>, Up: <a href="Stack.html#Stack" accesskey="u" rel="up">Stack</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-Index.html#Concept-Index" title="Index" rel="index">Index</a>]</p>
</div>
 
 
 
</body>
</html>