Next: Ada Settings, Previous: Ada Tasks and Core Files, Up: Ada
The Ravenscar Profile is a subset of the Ada tasking features, specifically designed for systems with safety-critical real-time requirements.
set ravenscar task-switching on
set ravenscar task-switching off
show ravenscar task-switching
When Ravenscar task-switching is enabled, Ravenscar tasks are announced by gdb as if they were threads:
(gdb) continue [New Ravenscar Thread 0x2b8f0]
Both Ravenscar tasks and the underlying CPU threads will show up in
the output of info threads
:
(gdb) info threads Id Target Id Frame 1 Thread 1 (CPU#0 [running]) simple () at simple.adb:10 2 Thread 2 (CPU#1 [running]) 0x0000000000003d34 in __gnat_initialize_cpu_devices () 3 Thread 3 (CPU#2 [running]) 0x0000000000003d28 in __gnat_initialize_cpu_devices () 4 Thread 4 (CPU#3 [halted ]) 0x000000000000c6ec in system.task_primitives.operations.idle () * 5 Ravenscar Thread 0x2b8f0 simple () at simple.adb:10 6 Ravenscar Thread 0x2f150 0x000000000000c6ec in system.task_primitives.operations.idle ()
One known limitation of the Ravenscar support in gdb is that
it isn't currently possible to single-step through the runtime
initialization sequence. If you need to debug this code, you should
use set ravenscar task-switching off
.