A GFCI will not reset if the breaker feeding it has tripped. and if the ground fault still exists it will reset but immed trip.. How to tell the differnece.
Well, step one is to check the breaker.. if it's tripped you found the answer.. But once you have it working plug in an intentional ground fault (Say 10K resistor between hot and ground , either hot, should do it) and try to reset it, note the sound.
Now turn off the breaker and try to reset it,, Note the sound
now remove the test plug and restore the breaker and reset it.
However you have to do this when it is working properly.