Symbol ambiguities can occur when a symbol (for example, a variable name X) is defined in more than one routine or other program unit. In most cases, the debugger resolves symbol ambiguities automatically. First, it uses the scope and visibility rules of the currently set language. In addition, because the debugger permits you to specify symbols in arbitrary modules (to set breakpoints and so on), the debugger uses the ordering of routine calls on the call stack to resolve symbol ambiguities. In some cases, however, the debugger might respond as follows when you specify a symbol that is defined multiple times: - It might issue a "symbol not unique" message because it is not able to determine the particular declaration of the symbol that you intended. - It might reference the symbol declaration that is visible in the current scope, which is not the one you want. To resolve such problems, you must specify a scope where the debugger should search for the particular declaration of the symbol: - If the different declarations of the symbol are within routines that are currently active on the call stack, use the Call Stack menu on the source window to reset the current scope. - Otherwise, enter the appropriate command at the command-entry prompt (EXAMINE or MONITOR, for example), specifying a path-name prefix with the symbol. For example, if the variable X is defined in two modules named COUNTER and SWAP, the following command uses the path name SWAP\X to specify the declaration of X that is in module SWAP: DBG> EXAMINE SWAP\X