===== 6.14 Debug Component ===== This section specifies the format for the Debug Component. The Debug Component contains all the metadata necessary for debugging a package on a suitably instrumented Java Card virtual machine. It is not required for executing Java Card programs in a non-debug environment. The Debug Component references the Class Component ([[6.8_Class Component| Section 6.8, Class Component]]), Method Component ([[6.9_Method Component| Section 6.9, Method Component]]), and Static Field Component ([[6.10_Static Field Component| Section 6.10, Static Field Component]]). No components reference the Debug Component. The Debug Component is represented by the following structure: The items in the **debug_component** structure are defined as follows: **tag** The tag item has the value **COMPONENT_Debug** (12). **size** The number of bytes in the component, excluding the **tag** and ****size**** items. The value of ****size**** must be greater than zero. **string_count** The number of strings in the **strings_table[]** table. **strings_table[]** A table of all the strings used in this component. Various items that occur through this component represent unsigned two-byte indices into this table. Each entry in the table is a ****utf8_info**** structure. A ****utf8_info**** structure is represented by the following structure: The items in the **utf8_info** structure are defined as follows: ** length** The number of bytes in the string. ** bytes** The bytes of the string in UTF-8 format. **package_name_index** Contains an index into the ****strings_table[]**** item. The ****strings_table[]**** item entry referenced by this index must contain the fully-qualified name of the package in this CAP file. **class_count** The number of classes in the classes table. **classes[]** Contains a single **class_debug_info[]** structure for each class in this package.