Here is a good example of how I use it to debug. I was loading an matrix with parameters and things were not working well. So I dumped the matrix into Octave and plotted the graph of the matrix.
You can see the first matrix, each row is similar except the first row. The program should take the first row and move everything down a row (each row should be a different sample), but if you code the move algorithm wrong (move from lowest index to highest) all you are doing is making many copies of the same data as you overwrite the good data.
You can see in the next image what I would expect. You can see the data "move" from row to row, meaning the routine is probably working. It doesn't point out if the data is correct, but at least data is being loaded and not overwritten.