Host-side debugging limitations

Linaro DDT GPU debugging on NVIDIA (>= CUDA 13.0), AMD and Intel GPUs all use a system debugger found in the environment. Whilst required for GPU debugging, these system debuggers may have the following differences in functionality when examining code running on the host compared to Linaro DDT debugging a non-GPU program.

  • The Fortran modules pane is not populated.

  • Setting pinned watchpoints in Fortran is inoperative.

  • Cannot drill down through inheritance hierarchies using the variable panes. Work around by explicitly casting to the base class in the evaluation expression.

  • Long strings may not be elided. Particularly long strings may not be shown at all.

  • Smart pointers will not be inspectable in the evaluation panes.

  • The debugging session may terminate if your application contains bad DWARF information.

If you do not require debugging on the GPU, you can workaround the above issues by launching Forge with the command-line option --no-cuda, --no-rocm or --no-xe as applicable, or deselecting the relevant GPU support in the Run Dialog. However, GPU Debugging will not be possible.