Mercurial > ecos
comparison packages/infra/current/cdl/debug.cdl @ 76:435cced73e2f ecos-v1_3_1-release
eCos v1.3.1 merged from eCos master repository on 2000-03-27-23:22:51-BST
| author | jlarmour |
|---|---|
| date | Tue, 28 Mar 2000 14:10:45 +0000 |
| parents | |
| children | 42f843b391aa |
comparison
equal
deleted
inserted
replaced
| 75:41bf073c0c32 | 76:435cced73e2f |
|---|---|
| 1 # ==================================================================== | |
| 2 # | |
| 3 # debug.cdl | |
| 4 # | |
| 5 # Infrastructure debugging configuration data | |
| 6 # | |
| 7 # ==================================================================== | |
| 8 #####COPYRIGHTBEGIN#### | |
| 9 # | |
| 10 # ------------------------------------------- | |
| 11 # The contents of this file are subject to the Red Hat eCos Public License | |
| 12 # Version 1.1 (the "License"); you may not use this file except in | |
| 13 # compliance with the License. You may obtain a copy of the License at | |
| 14 # http://www.redhat.com/ | |
| 15 # | |
| 16 # Software distributed under the License is distributed on an "AS IS" | |
| 17 # basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the | |
| 18 # License for the specific language governing rights and limitations under | |
| 19 # the License. | |
| 20 # | |
| 21 # The Original Code is eCos - Embedded Configurable Operating System, | |
| 22 # released September 30, 1998. | |
| 23 # | |
| 24 # The Initial Developer of the Original Code is Red Hat. | |
| 25 # Portions created by Red Hat are | |
| 26 # Copyright (C) 1998, 1999, 2000 Red Hat, Inc. | |
| 27 # All Rights Reserved. | |
| 28 # ------------------------------------------- | |
| 29 # | |
| 30 #####COPYRIGHTEND#### | |
| 31 # ==================================================================== | |
| 32 ######DESCRIPTIONBEGIN#### | |
| 33 # | |
| 34 # Author(s): jskov | |
| 35 # Original data: bartv,hmt | |
| 36 # Contributors: | |
| 37 # Date: 1999-07-02 | |
| 38 # | |
| 39 #####DESCRIPTIONEND#### | |
| 40 # | |
| 41 # ==================================================================== | |
| 42 | |
| 43 # If global debugging is enabled then by default all assertions | |
| 44 # are enabled. Tracing is not enabled by default because it | |
| 45 # involves excessive overheads, for example on some targets | |
| 46 # it requires sending a string down a serial line for every | |
| 47 # function call. Both assertions and tracing are controlled | |
| 48 # by the following lines. | |
| 49 | |
| 50 cdl_component CYGDBG_USE_ASSERTS { | |
| 51 display "Use asserts" | |
| 52 default_value 1 | |
| 53 description " | |
| 54 If this option is defined, asserts in the code are tested. | |
| 55 Assert functions (CYG_ASSERT()) are defined in | |
| 56 'include/cyg/infra/cyg_ass.h' within the 'install' tree. | |
| 57 If it is not defined, these result in no additional | |
| 58 object code and no checking of the asserted conditions." | |
| 59 | |
| 60 script assert.cdl | |
| 61 } | |
| 62 | |
| 63 cdl_component CYGDBG_USE_TRACING { | |
| 64 display "Use tracing" | |
| 65 default_value 0 | |
| 66 description " | |
| 67 If this option is defined, tracing operations | |
| 68 result in output or logging, depending on other options. | |
| 69 This may have adverse effects on performance, if the time | |
| 70 taken to output message overwhelms the available CPU | |
| 71 power or output bandwidth. | |
| 72 Trace functions (CYG_TRACE()) are defined in | |
| 73 'include/cyg/infra/cyg_trac.h' within the 'install' tree. | |
| 74 If it is not defined, these result in no additional | |
| 75 object code and no trace information." | |
| 76 | |
| 77 | |
| 78 # The eCos system uses two types of tracing mechanisms. The most common | |
| 79 # type traces events, for example an event could be logged whenever | |
| 80 # an interrupt occurs or whenever a context switch takes place. The | |
| 81 # second type of tracing mechanism records every function entry and | |
| 82 # exit. It is possible to disable this second type of tracing while | |
| 83 # leaving the main tracing facility enabled. | |
| 84 cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS { | |
| 85 display "Trace function reports" | |
| 86 default_value 1 | |
| 87 description " | |
| 88 This option allows individual control of | |
| 89 function entry/exit tracing, independent of | |
| 90 more general tracing output. | |
| 91 This may be useful to remove clutter from a | |
| 92 trace log." | |
| 93 } | |
| 94 | |
| 95 cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE { | |
| 96 display "Use trace text" | |
| 97 default_value 1 | |
| 98 description " | |
| 99 All trace calls within eCos contain a text message | |
| 100 which should give some information about the circumstances. | |
| 101 These text messages will end up being embedded in the | |
| 102 application image and hence there is a significant penalty | |
| 103 in terms of image size. | |
| 104 It is possible to suppress the use of these messages by | |
| 105 disabling this option. | |
| 106 This results in smaller code size, but there is less | |
| 107 human-readable information available in the trace output, | |
| 108 possibly only filenames and line numbers." | |
| 109 } | |
| 110 } | |
| 111 | |
| 112 # FIXME: The below options should be mutually exclusive. | |
| 113 cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL { | |
| 114 display "Null output" | |
| 115 # type radio | |
| 116 default_value 0 | |
| 117 description " | |
| 118 A null output module which is useful when | |
| 119 debugging interactively; the output routines | |
| 120 can be breakpointed rather than have them actually | |
| 121 'print' something." | |
| 122 } | |
| 123 cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE { | |
| 124 display "Simple output" | |
| 125 # type radio | |
| 126 default_value 0 | |
| 127 description " | |
| 128 An output module which produces simple output | |
| 129 from tracing and assertion events." | |
| 130 } | |
| 131 cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY { | |
| 132 display "Fancy output" | |
| 133 # type radio | |
| 134 default_value 0 | |
| 135 description " | |
| 136 An output module which produces fancy output | |
| 137 from tracing and assertion events." | |
| 138 } | |
| 139 cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER { | |
| 140 display "Buffered tracing" | |
| 141 # type radio | |
| 142 default_value 1 | |
| 143 description " | |
| 144 An output module which buffers output | |
| 145 from tracing and assertion events. The stored | |
| 146 messages are output when an assert fires, or | |
| 147 CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>) | |
| 148 is called. | |
| 149 Of course, there will only be stored messages | |
| 150 if tracing per se (CYGDBG_USE_TRACING) | |
| 151 is enabled above." | |
| 152 | |
| 153 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE { | |
| 154 display "Trace buffer size" | |
| 155 flavor data | |
| 156 active_if CYGDBG_USE_TRACING | |
| 157 default_value 32 | |
| 158 legal_values 5 to 65535 | |
| 159 description " | |
| 160 The size of the trace buffer. This counts the number | |
| 161 of trace records stored. When the buffer fills it | |
| 162 either wraps, stops recording, or generates output." | |
| 163 } | |
| 164 # FIXME: The below options should be mutually exclusive. | |
| 165 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP { | |
| 166 display "Wrap trace buffer when full" | |
| 167 active_if CYGDBG_USE_TRACING | |
| 168 default_value 1 | |
| 169 # type radio | |
| 170 description " | |
| 171 When the trace buffer has filled with records it | |
| 172 starts again at the beginning. Hence only the last | |
| 173 CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will | |
| 174 be recorded." | |
| 175 } | |
| 176 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT { | |
| 177 display "Halt trace buffer when full" | |
| 178 active_if CYGDBG_USE_TRACING | |
| 179 default_value 0 | |
| 180 # type radio | |
| 181 description " | |
| 182 When the trace buffer has filled with records it | |
| 183 stops recording. Hence only the first | |
| 184 CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will | |
| 185 be recorded." | |
| 186 } | |
| 187 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT { | |
| 188 display "Print trace buffer when full" | |
| 189 active_if CYGDBG_USE_TRACING | |
| 190 default_value 0 | |
| 191 # type radio | |
| 192 description " | |
| 193 When the trace buffer has filled with records it | |
| 194 prints the contents of the buffer. The buffer is then | |
| 195 emptied and the system continues." | |
| 196 } | |
| 197 cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT { | |
| 198 display "Print trace buffer on assert fail" | |
| 199 active_if CYGDBG_USE_TRACING | |
| 200 default_value 1 | |
| 201 description " | |
| 202 When an assertion fails the trace buffer will be | |
| 203 printed to the default diagnostic device." | |
| 204 } | |
| 205 } | |
| 206 | |
| 207 cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO { | |
| 208 display "Use function names" | |
| 209 default_value 1 | |
| 210 description " | |
| 211 All trace and assert calls within eCos contain a | |
| 212 reference to the builtin macro '__PRETTY_FUNCTION__', | |
| 213 which evaluates to a string containing | |
| 214 the name of the current function. | |
| 215 This is useful when reading a trace log. | |
| 216 It is possible to suppress the use of the function name | |
| 217 by disabling this option. | |
| 218 This results in smaller code size, but there is less | |
| 219 human-readable information available in the trace output, | |
| 220 possibly only filenames and line numbers." | |
| 221 } |
