I tried to use the state attribute on the exception breakpoint, but it seems that this attribute has no effect on this breakpoint type. The breakpoint is always enabled. For line and functions breakpoints, everything works as expected.
According to the logs, the attribute is successfully set but has no effect:
1.
[996] [Step Debug] <- breakpoint_set -i 6 -t exception -s enabled -x Warning
[996] [Step Debug] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="6" state="enabled" id="9960002" resolved="resolved"></response>
[996] [Step Debug] <- breakpoint_update -i 14 -d 9960002 -s disabled
[996] [Step Debug] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="breakpoint_update" transaction_id="14"><breakpoint type="exception" resolved="resolved" exception="Warning" state="disabled" hit_count="0" hit_value="0" id="9960002"></breakpoint></response>
[1005] [Step Debug] <- breakpoint_set -i 34 -t exception -s disabled -x Warning
[1005] [Step Debug] -> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="34" state="disabled" id="10050002" resolved="resolved"></response>
Tried it on versions: v3.1.6, v3.2.0, v3.2.1