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 ( Section 6.8, Class Component), Method Component ( Section 6.9, Method Component), and 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.