What is used to find logical errors in programming?

Checking the output you get for different inputs; checking the source code; carrying out a debugging session.
Checking the output you get for different inputs; checking the source code; carrying out a debugging session.