软件调试的主要方法是什么