How to debug a bash script?

I’m having some problems with some scripts in bash, about errors and unexpected behaviors. I would like to investigate the causes of the problems so I can apply fixes. Is there a way I can turn some kind of “debug-mode” for bash, to get more information?