Because Espressif’s devs fail to create a proper SVD file which describes the ESP32’s hardware peripherirals. See thread at CLion Debugging for community-made workarounds and hacks.
Those are called “Data breakpoints” and it seems a bit fuzzy to me how exactly VSCode supports them. Digging through initial VSCode issues like Debug Protocol: Data Breakpoints · Issue #38 · microsoft/vscode-debugadapter-node · GitHub they say that they have introduced data breakpoints, just like this blog post does. So does it work when you add variable names to the breakpoints?
You can also try to use native GDB commands directly in the “Debug Console”, see stackoverflow for watch
(write), read
and awatch
(read/write) breakpoints for variables and memory addresses.
Indeed, this is a limitation of the xtensa GDB which hasn’t been addressed by Espressif yet.