Debugging is fixing. You have already determined that something is broken. Now you want to find out why, and to fix it.
Unit Testing is testing. You are trying to see if something is broken or not.
The process in which developers determine the root cause of a bug and identify possible fixes. Developers perform debugging activities to resolve a known bug either after development of a subsystem or unit or because of a bug report. [R. Black]
Testing of units. In unit testing, called subroutine and function calls are treated as if they are language parts (e.g. keywords). Called and calling components are either assumed to work correctly or are replaced by simulators. Unit testing usually is done by the unit's originator. [B. Beizer]
Testing of individual programs as they are written. [B. Hetzel]
The testing of individual software components or a collection of components. [J. Whittaker]
In his book "Perfect Software and other illusions about testing", Gerald M. Weinberg has a relevant chapter titled "What's the Difference Between Testing and Debugging".
In it, he tells the story of Jane - "a one-woman development and support team in a tiny software consulting company". He takes her through a typical day, noting all the varied tasks she performs, how much of each task is testing, and how much is something else.
I highly recommend this book. (I happened to be re-reading this book, and thought of your post).