QT自带了几个类,qDebug(),qError(),qWarri().可以在程序的适当位置调用这几个函数,然后这几个函数被执行后会在控制台打印出相关信息。
还可以使用QMessageBox类在合适的地方调用,弹出一个QMessageBox来,它可以使程序停留在该处。QMessageBox::information();
遍历法, 当程序出错时,先要考虑最有可能出错的地方。如果不是,再考虑一下出现这种错误有哪几种可能,让后去一一检验。
比如undefined reference to 的错误,就是找不到这个方法的实现。比如有一次在方法的实现的时候没有在前面加上类名(类名::方法名())。还有可能是没有在*.pro文件中加入方法所在的文件。
使用对比法,当程序出现异常的时候。比如有一次w408项目中删除 selecttableWidgetGrid _grid 中的一项时,要弹到其他的页面后再返回来那一项才不显示。我就想刷新一下不就可以了,但是刷新后那一项依然没有消失。2种情况的区别就是:第一种情况View对象被析构了,它的子部件—_grid也被析构了。第二种情况View对象没有被析构。
排除法,出现问题时,确定出错部分代码的位置的有效方法。