Debugging FreeRTOS with GDB on STM32F7

First note: I have experienced this same issue on a windows host with a separate STM32 project. This leads me to believe it could be an issue with the way STM32Cube exports a project? or something related to the project setup.

Yes, If I run the program normally or in debug the LED toggles as expected. When I place the breakpoint on the toggle, it hits the breakpoint as expected, but when i continue, the LED dow not toggle, and its as if the program is just stuck on that breakpoint.

I am using OpenOCD and GDB with a makefile. my .cfg file is as follows:

source [find interface/stlink-v2-1.cfg]

transport select hla_swd

source [find target/stm32f7x.cfg]

reset_config srst_only

launch.json as follows:

"name": "Cortex Debug",
"type": "cortex-debug",
"cwd": "${workspaceRoot}",
"servertype": "openocd",
"executable": "${workspaceRoot}/build/F7_Template.elf",
"request": "launch",
"rtos":"FreeRTOS",
"device": "STM32F746ZG",
"configFiles": [
     "./board.cfg"
 ]

I’ve added the OpenOCD FreeRTOS Helper file, and I added --undefined=uxTopUsedPriority to the LD flags.

my task is simply:

for(;;)
{
    vTaskDelay(1000 / portTICK_PERIOD_MS);
    HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin);
}

I also see the same problem if i use OpenOCD and GDB without the Cortex-Debug plugin.