[GR-53359] Provide native debugging friendly classloadername based on ClassLoader.nameAndId #8885
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The way ClassLoader.nameAndId gets initialized per default causes problems with native debugging in GDB. If the classloader has a name, ClassLoader.nameAndId is initialized with single quotes enclosing it and the name may contain quotes. Escaping quotes does not work properly in the current GDB.
ClassLoader.nameAndId contains the classloaders hash and is used to create the unique name for a classloader. Therefore, if the quotes are dropped in the debug info, the classloader name will still be unique and can be used within GDB.
Additionally, this issue should add the missing feature of autoloading the svmhelpers.py script in GDB. This requires the special debugging section .debug_gdb_scripts to be added to the debug info of a native image, which contains the path to the autoloaded Python file. svmhelpers.py must be placed in the current working directory to be autoloaded.