How does the built-in debugger decide which definition to highlight in the notebook when Break on messages" is enabled? Here's an example to illustrate what I mean. First, enable the debugger (Evaluation -> Debugger), then define a function that issues a message: f::boo:="Boo!!!"; f[]:=Module[{a,b,c,d}, a=1; b=a; Message[f::boo]; c=b; d=c; a+b+c+d ] When running `f[]`, evaluation will pause on the message and the point where the break occurred will be highlighted: <img src="https://i.sstatic.net/Wq2L0.png" width="548"> Now let's re-assign its own DownValues to `f`, and re-run it. Now this second definition will be highlighted, but not the original one. <img src="https://i.sstatic.net/55y9R.png" width="550"> **The question:** How does the debugger know what to highlight and can we influence this somehow? I would like the definition printed by [this spelunking tool][1] to be highlighted, if possible. [1]: http://mathematica.stackexchange.com/q/1742/12