Gdb - how to "watch" a variable in common

Is there a trick to get gdb to “watch” a variable in common? When I try to do that gdb reports that the variable is not in the current context. Or, is there a way to “watch” a variable in a subroutine without resetting the watch manually on every entry to the subroutine? Or, is there some fortran-specific documentation for gdb? I am actually looking for where a variable gets set to a mysterious value, it isn’t in the location I expect, or any other location I can find.

I know a lot of work has gone into making gdb work with Fortran - it accepts fortranisms like “.le.” and “**” and it knows about array dimensions and storage order, so I expect there is documentaion somewhere. All I have found is very introductory.

Daniel Feenberg