godot/misc/scripts
Mitten Orvan 829c33aed1
Create a GDB pretty printing file for String, StringName, and Vector
GDB supports custom pretty-printers implemented in Python.
When debugging Godot, checking the values of Strings and StringNames
in the debugger was very inconvenient as the data is fairly deep
in the structure. This makes the values immediately visible.

The custom pretty printer can be taken into use manually by calling
`source misc/scripts/godot_gdb_pretty_print.py` in the GDB console.
In VS code, it can be activated by default by adding the source
command to the `setupCommands` of the configuration in launch.json.

Like this:
```json
// launch.json
{
    "configurations": [
        {
            "name": "C/C++: debug,
            "type": "cppdbg",
	    ...
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Load custom pretty-printers for Godot types.",
                    "text": "source ${workspaceRoot}/misc/scripts/godot_gdb_pretty_print.py"
                }
            ],
            "miDebuggerPath": "gdb"
        }
    ],
    "version": "2.0.0"
}
```

Extended the pretty-printer python script to support Vectors.
The printer needs to be uncomfortably aware of CowData
implementation details, but I don't think there is any
way around that.
2024-05-11 12:33:35 +02:00
..
check_ci_log.py [Buildsystem] Fix encoding when reading files 2024-03-24 18:02:56 +01:00
clang_tidy.sh Fix `printf` for format checks 2024-02-02 15:10:46 +01:00
copyright_headers.py Fix infinite while loop on empty added file. 2024-04-12 19:38:37 +02:00
dotnet_format.py CI: Overhaul static checks to use `pre-commit` 2024-05-08 10:30:24 -05:00
file_format.py CI: Overhaul static checks to use `pre-commit` 2024-05-08 10:30:24 -05:00
gitignore_check.sh Add static check for overzealous .gitignores. 2023-07-01 08:41:36 -05:00
godot_gdb_pretty_print.py Create a GDB pretty printing file for String, StringName, and Vector 2024-05-11 12:33:35 +02:00
header_guards.py CI: Overhaul static checks to use `pre-commit` 2024-05-08 10:30:24 -05:00
install_d3d12_sdk_windows.py SCons: Add proper MinGW support to D3D12 deps install script 2024-02-23 22:13:22 +01:00
install_vulkan_sdk_macos.sh [CI] Use multiple forced unmount attempts for MoltenVK image. 2023-01-03 11:16:30 +02:00
make_icons.sh Replace HTTP links with HTTPS for sites with HTTPS versions 2021-08-22 20:13:11 -05:00
make_tarball.sh Add script to make source tarball with `.git/HEAD` 2021-07-29 11:52:43 +02:00
mypy.ini SCons: Update mypy 2023-12-11 15:59:06 -06:00
validate_extension_api.sh CI: Compat checks: Make fetching the reference API more robust 2023-09-05 15:27:44 +02:00