When I had this problem of the serial giving garbage I used a logic analyzer with pulseview and then try to hunt for a baud rate on the uart protocol decoder which would give a valid interpretation. Often I found the rate to be a multiple of the expected one which helped me figure out what was set incorrectly.
But yeah, without real debugging it will be painful to use. Best, Matias