• Web.Config <compilation debug=”true”>
  • ScriptManger ScriptMode=”debug”
  • ScriptManager uses debug setting first from ScriptMode=”Debug” attribute, then from Web.Config
  • ScriptManger output ignores the @Page Debug attribute
  • Confirm IE is in debug mode – Tools Options | Advanced
  • Debug | Windows | Script Explorer (Might not be on, use Tools | Customize, and add
    it to the Debug Windows menu) (Use Ctrl+Alt+N as Keyboard Shortcut)
  • debugger keyword
  • Sys.Debug

so in the code

    <script language="javascript" type="text/javascript">
        function noDebugger() {
            alert('not here');
            return true;
        function catchDebugger() {
            alert('can break here');
            return true;

    <h1>Debugger; in JavaScript</h1>
    <input type="button" onclick="noDebugger();" value="No Debugger" />
    <br />
    <input type="button" onclick="catchDebugger();" value="Catch Debugger" />