Since nobody else has mentioned it...
When using single wire debug, you should only connect the VCC (from the mcu board to the programmer) if the microcontroller is
not already receiving a separate supply voltage. If the mcu is already getting VCC from elsewhere (e.g. battery, or a separate supply), then you should only connect the other three lines (single wire data, clock, and ground), plus optionally (but recommended) reset.
As it happens, that's the config that I'm using for the STM32F401 (WeAct Studio dev board) which is sitting on my desk at the moment... The MCU is receiving power over USB, so the debug probe doesn't have VCC connected.
Reset isn't always needed, but can be useful, because it's possible to put the chip into some states where the SWD interface doesn't work (e.g. some power saving sleep states) - so if the swd programmer hardware can also drive the reset line of the target mcu, then it can guarantee that it will always be able to interact with it via SWD and program the part etc.
For programming and debugging, I'm using
https://probe.rs/ - but there are many other options of course, and you should use whatever tooling seems most appropriate for your development environment.