Maybe <i>your</i> source-level debugger only works in line numbers.  Visual Studio doesn&#x27;t.  It knows that &quot;goto fail&quot; is a separate statement and you can place a breakpoint directly on that, not on the if statement, even though they&#x27;re on the same line.