Tengo un código de prueba simple para probar este extraño comportamiento. El programa se ejecuta sin puntos de interrupción. Pero si configuro un punto de interrupción, se detiene en algún lugar de los datos json y no puedo depurar mi código en un solo paso. Si elimino los datos json, los puntos de interrupción se detienen y puedo dar un solo paso desde allí (F10). Extraño.
Aquí está mi código HTML:
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>JSON Test</title> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> </head> <body> <div id="header"> <h2>JSON Test</h2> <label for="HostName">Your Node Name:</label> <label id="HostName" style="width: 600px;"></label> <label id="Status" style="text-align: center;"></label> <input type="button" id="btnRefresh" value="Refresh Me" /> </div> <script type="text/javascript"> $(document).ready(function () { alert("Ready"); alert(data.name); }) </script> <script type="text/javascript"> var data = { "id": 1, "name": "abc", "address": { "streetName": "cde", "streetId": 2 } } </script> </body> </html>Establezca un punto de interrupción en alerta listo. Si obtiene los mismos resultados, entonces es un problema en Visual Studio. Si no, ¿podría estar en mi método o versión de VS 2017? Extraño.
Y el problema fue: configuré Google Chrome como el navegador de depuración predeterminado. Lo cambié de nuevo a Internet Explorer y listo, puedo depurar nuevamente.