]>
Commit | Line | Data |
---|---|---|
1 | \section{\class{wxDebugContext}}\label{wxdebugcontext} | |
2 | ||
3 | A class for performing various debugging and memory tracing | |
4 | operations. Full functionality (such as printing out objects | |
5 | currently allocated) is only present in a debugging build of wxWidgets, | |
6 | i.e. if the \_\_WXDEBUG\_\_ symbol is defined. wxDebugContext | |
7 | and related functions and macros can be compiled out by setting | |
8 | wxUSE\_DEBUG\_CONTEXT to 0 is setup.h | |
9 | ||
10 | \wxheading{Derived from} | |
11 | ||
12 | No parent class. | |
13 | ||
14 | \wxheading{Include files} | |
15 | ||
16 | <wx/memory.h> | |
17 | ||
18 | \wxheading{See also} | |
19 | ||
20 | \overview{Overview}{wxdebugcontextoverview} | |
21 | ||
22 | \latexignore{\rtfignore{\wxheading{Members}}} | |
23 | ||
24 | \membersection{wxDebugContext::Check}\label{wxdebugcontextcheck} | |
25 | ||
26 | \func{int}{Check}{\void} | |
27 | ||
28 | Checks the memory blocks for errors, starting from the currently set | |
29 | checkpoint. | |
30 | ||
31 | \wxheading{Return value} | |
32 | ||
33 | Returns the number of errors, | |
34 | so a value of zero represents success. Returns -1 if an error | |
35 | was detected that prevents further checking. | |
36 | ||
37 | \membersection{wxDebugContext::Dump}\label{wxdebugcontextdump} | |
38 | ||
39 | \func{bool}{Dump}{\void} | |
40 | ||
41 | Performs a memory dump from the currently set checkpoint, writing to the | |
42 | current debug stream. Calls the {\bf Dump} member function for each wxObject | |
43 | derived instance. | |
44 | ||
45 | \wxheading{Return value} | |
46 | ||
47 | true if the function succeeded, false otherwise. | |
48 | ||
49 | \membersection{wxDebugContext::GetCheckPrevious}\label{wxdebugcontextgetcheckprevious} | |
50 | ||
51 | \func{bool}{GetCheckPrevious}{\void} | |
52 | ||
53 | Returns true if the memory allocator checks all previous memory blocks for errors. | |
54 | By default, this is false since it slows down execution considerably. | |
55 | ||
56 | \wxheading{See also} | |
57 | ||
58 | \helpref{wxDebugContext::SetCheckPrevious}{wxdebugcontextsetcheckprevious} | |
59 | ||
60 | \membersection{wxDebugContext::GetDebugMode}\label{wxdebugcontextgetdebugmode} | |
61 | ||
62 | \func{bool}{GetDebugMode}{\void} | |
63 | ||
64 | Returns true if debug mode is on. If debug mode is on, the wxObject new and delete | |
65 | operators store or use information about memory allocation. Otherwise, | |
66 | a straight malloc and free will be performed by these operators. | |
67 | ||
68 | \wxheading{See also} | |
69 | ||
70 | \helpref{wxDebugContext::SetDebugMode}{wxdebugcontextsetdebugmode} | |
71 | ||
72 | \membersection{wxDebugContext::GetLevel}\label{wxdebugcontextgetlevel} | |
73 | ||
74 | \func{int}{GetLevel}{\void} | |
75 | ||
76 | Gets the debug level (default 1). The debug level is used by the wxTraceLevel function and | |
77 | the WXTRACELEVEL macro to specify how detailed the trace information is; setting | |
78 | a different level will only have an effect if trace statements in the application | |
79 | specify a value other than one. | |
80 | ||
81 | This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality. | |
82 | ||
83 | \wxheading{See also} | |
84 | ||
85 | \helpref{wxDebugContext::SetLevel}{wxdebugcontextsetlevel} | |
86 | ||
87 | \membersection{wxDebugContext::GetStream}\label{wxdebugcontextgetstream} | |
88 | ||
89 | \func{ostream\&}{GetStream}{\void} | |
90 | ||
91 | Returns the output stream associated with the debug context. | |
92 | ||
93 | This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality. | |
94 | ||
95 | \wxheading{See also} | |
96 | ||
97 | \helpref{wxDebugContext::SetStream}{wxdebugcontextsetstream} | |
98 | ||
99 | \membersection{wxDebugContext::GetStreamBuf}\label{wxdebugcontextgetstreambuf} | |
100 | ||
101 | \func{streambuf*}{GetStreamBuf}{\void} | |
102 | ||
103 | Returns a pointer to the output stream buffer associated with the debug context. | |
104 | There may not necessarily be a stream buffer if the stream has been set | |
105 | by the user. | |
106 | ||
107 | This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality. | |
108 | ||
109 | \membersection{wxDebugContext::HasStream}\label{wxdebugcontexthasstream} | |
110 | ||
111 | \func{bool}{HasStream}{\void} | |
112 | ||
113 | Returns true if there is a stream currently associated | |
114 | with the debug context. | |
115 | ||
116 | This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality. | |
117 | ||
118 | \wxheading{See also} | |
119 | ||
120 | \helpref{wxDebugContext::SetStream}{wxdebugcontextsetstream}, \helpref{wxDebugContext::GetStream}{wxdebugcontextgetstream} | |
121 | ||
122 | \membersection{wxDebugContext::PrintClasses}\label{wxdebugcontextprintclasses} | |
123 | ||
124 | \func{bool}{PrintClasses}{\void} | |
125 | ||
126 | Prints a list of the classes declared in this application, giving derivation | |
127 | and whether instances of this class can be dynamically created. | |
128 | ||
129 | \wxheading{See also} | |
130 | ||
131 | \helpref{wxDebugContext::PrintStatistics}{wxdebugcontextprintstatistics} | |
132 | ||
133 | \membersection{wxDebugContext::PrintStatistics}\label{wxdebugcontextprintstatistics} | |
134 | ||
135 | \func{bool}{PrintStatistics}{\param{bool}{ detailed = true}} | |
136 | ||
137 | Performs a statistics analysis from the currently set checkpoint, writing | |
138 | to the current debug stream. The number of object and non-object | |
139 | allocations is printed, together with the total size. | |
140 | ||
141 | \wxheading{Parameters} | |
142 | ||
143 | \docparam{detailed}{If true, the function will also print how many | |
144 | objects of each class have been allocated, and the space taken by | |
145 | these class instances.} | |
146 | ||
147 | \wxheading{See also} | |
148 | ||
149 | \helpref{wxDebugContext::PrintStatistics}{wxdebugcontextprintstatistics} | |
150 | ||
151 | \membersection{wxDebugContext::SetCheckpoint}\label{wxdebugcontextsetcheckpoint} | |
152 | ||
153 | \func{void}{SetCheckpoint}{\param{bool}{ all = false}} | |
154 | ||
155 | Sets the current checkpoint: Dump and PrintStatistics operations will | |
156 | be performed from this point on. This allows you to ignore allocations | |
157 | that have been performed up to this point. | |
158 | ||
159 | \wxheading{Parameters} | |
160 | ||
161 | \docparam{all}{If true, the checkpoint is reset to include all | |
162 | memory allocations since the program started.} | |
163 | ||
164 | \membersection{wxDebugContext::SetCheckPrevious}\label{wxdebugcontextsetcheckprevious} | |
165 | ||
166 | \func{void}{SetCheckPrevious}{\param{bool}{ check}} | |
167 | ||
168 | Tells the memory allocator to check all previous memory blocks for errors. | |
169 | By default, this is false since it slows down execution considerably. | |
170 | ||
171 | \wxheading{See also} | |
172 | ||
173 | \helpref{wxDebugContext::GetCheckPrevious}{wxdebugcontextgetcheckprevious} | |
174 | ||
175 | \membersection{wxDebugContext::SetDebugMode}\label{wxdebugcontextsetdebugmode} | |
176 | ||
177 | \func{void}{SetDebugMode}{\param{bool}{ debug}} | |
178 | ||
179 | Sets the debug mode on or off. If debug mode is on, the wxObject new and delete | |
180 | operators store or use information about memory allocation. Otherwise, | |
181 | a straight malloc and free will be performed by these operators. | |
182 | ||
183 | By default, debug mode is on if \_\_WXDEBUG\_\_ is defined. If the application | |
184 | uses this function, it should make sure that all object memory allocated | |
185 | is deallocated with the same value of debug mode. Otherwise, the | |
186 | delete operator might try to look for memory information that does not | |
187 | exist. | |
188 | ||
189 | \wxheading{See also} | |
190 | ||
191 | \helpref{wxDebugContext::GetDebugMode}{wxdebugcontextgetdebugmode} | |
192 | ||
193 | \membersection{wxDebugContext::SetFile}\label{wxdebugcontextsetfile} | |
194 | ||
195 | \func{bool}{SetFile}{\param{const wxString\& }{filename}} | |
196 | ||
197 | Sets the current debug file and creates a stream. This will delete any existing | |
198 | stream and stream buffer. By default, the debug context stream | |
199 | outputs to the debugger (Windows) or standard error (other platforms). | |
200 | ||
201 | \membersection{wxDebugContext::SetLevel}\label{wxdebugcontextsetlevel} | |
202 | ||
203 | \func{void}{SetLevel}{\param{int}{ level}} | |
204 | ||
205 | Sets the debug level (default 1). The debug level is used by the wxTraceLevel function and | |
206 | the WXTRACELEVEL macro to specify how detailed the trace information is; setting | |
207 | a different level will only have an effect if trace statements in the application | |
208 | specify a value other than one. | |
209 | ||
210 | This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality. | |
211 | ||
212 | \wxheading{See also} | |
213 | ||
214 | \helpref{wxDebugContext::GetLevel}{wxdebugcontextgetlevel} | |
215 | ||
216 | \membersection{wxDebugContext::SetStandardError}\label{wxdebugcontextsetstandarderror} | |
217 | ||
218 | \func{bool}{SetStandardError}{\void} | |
219 | ||
220 | Sets the debugging stream to be the debugger (Windows) or standard error (other platforms). | |
221 | This is the default setting. The existing stream will be flushed and deleted. | |
222 | ||
223 | This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality. | |
224 | ||
225 | \membersection{wxDebugContext::SetStream}\label{wxdebugcontextsetstream} | |
226 | ||
227 | \func{void}{SetStream}{\param{ostream* }{stream}, \param{streambuf* }{streamBuf = NULL}} | |
228 | ||
229 | Sets the stream and optionally, stream buffer associated with the debug context. | |
230 | This operation flushes and deletes the existing stream (and stream buffer if any). | |
231 | ||
232 | This is obsolete, replaced by \helpref{wxLog}{wxlog} functionality. | |
233 | ||
234 | \wxheading{Parameters} | |
235 | ||
236 | \docparam{stream}{Stream to associate with the debug context. Do not set this to NULL.} | |
237 | ||
238 | \docparam{streamBuf}{Stream buffer to associate with the debug context.} | |
239 | ||
240 | \wxheading{See also} | |
241 | ||
242 | \helpref{wxDebugContext::GetStream}{wxdebugcontextgetstream}, \helpref{wxDebugContext::HasStream}{wxdebugcontexthasstream} | |
243 | ||
244 | \section{\class{wxDebugStreamBuf}}\label{wxdebugstreambuf} | |
245 | ||
246 | This class allows you to treat debugging output in a similar | |
247 | (stream-based) fashion on different platforms. Under | |
248 | Windows, an ostream constructed with this buffer outputs | |
249 | to the debugger, or other program that intercepts debugging | |
250 | output. On other platforms, the output goes to standard error (cerr). | |
251 | ||
252 | This is soon to be obsolete, replaced by \helpref{wxLog}{wxlog} functionality. | |
253 | ||
254 | \wxheading{Derived from} | |
255 | ||
256 | streambuf | |
257 | ||
258 | \wxheading{Include files} | |
259 | ||
260 | <wx/memory.h> | |
261 | ||
262 | \wxheading{Example} | |
263 | ||
264 | \begin{verbatim} | |
265 | wxDebugStreamBuf streamBuf; | |
266 | ostream stream(&streamBuf); | |
267 | ||
268 | stream << "Hello world!" << endl; | |
269 | \end{verbatim} | |
270 | ||
271 | \wxheading{See also} | |
272 | ||
273 | \overview{Overview}{wxdebugcontextoverview} | |
274 | ||
275 |