The recommended way to debug any GPIF application is to use a logic analyzer to examine the external peripheral interface. Also, turn on the GSTATE bit in the IFCONFIG register to allow you to use PE[2:0] as a way of monitoring the state of the GPIF engine. This in conjuction with monitoring the GPIFDONE bit in the GPIFIDLECS register will tell you what state the GPIF is locking up in, etc. It's also a good idea to use vendor commands that return the value of GPIFTC[B3:B0], GPIFIDLECS, etc. This is a less intrusive way of monitoring register values than the Keil debugger.