2008-12-17 6 views
8

No puedo usar el punto de interrupción en Studio con Javascript. Puedo depurar si utilizo el depurador;Uso de puntos de interrupción para depurar Javascript en IE y VS2008

He visto esta pregunta Breakpoint not hooked up when debugging in VS.Net 2005 ya. Intenté la respuesta y no funcionó.

Buscando en la ventana de módulos, V.Mvc.Jobtrakt.PDB se carga correctamente, pero apunta a una carpeta temporal C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root \ dbc0c0c5 \ f64a99b3 \ assembly \ dl3 \ 9de055b3 \ eb1303b1_9760c901 \ V.Mvc.Jobtrak.pdb: Símbolos cargados.

yo habría pensado que sería apuntar a: \ JobTrak \ sitio web \ V.Mvc.Jobtrak \ V.Mvc.Jobtrak \ obj \ Debug (esto está dentro del directorio del proyecto)

Pero independientemente de la ubicación donde cerré VS 2008 y luego destruí la carpeta temporal (enumerada arriba), las carpetas bin y obj.

Se abrió VS 2008 y se hizo una limpieza. Establecí un punto de interrupción en el js y parecía que iba a funcionar ahora (se rellenó el punto de interrupción) Empecé a depurar y nunca se rompe en el punto de interrupción. Mira el punto de quiebre y ahora es un círculo rojo con un punto rojo y un indicador de advertencia. Pasar el puntero sobre el punto de interrupción me da esta información útil: el punto de interrupción no se verá afectado en este momento. La ubicación no se pudo asignar a un script del lado del cliente. Consulte la ayuda para el mapeo de puntos de ruptura de ASPX. No estoy siendo redirigido, el punto de interrupción está dentro de una función. bla, bla, bla, esto debería estar funcionando.

Así que me preguntaba si alguien tiene alguna idea? ¿Alguien puede establecer puntos de interrupción en VS2008 y hacer que funcionen?

+0

puedo añadir "depurador" al Javascript para obligarlo a descanso. Estoy tratando de hacer que los puntos de interrupción funcionen. – Brad8118

Respuesta

15

prueba a escribir "depurador" en el código donde desea romper

+0

Buena llamada Greg. Esa es una vía rápida definitiva para el depurador. – palehorse

+1

Esto funciona. Intentaba hacer funcionar los puntos de interrupción. – Brad8118

+0

Esto realmente funcionó como un encanto para mí. –

5

Asegúrese de estar conectado al proceso correcto. Por ejemplo, una vez que haya cargado la página en IE,

  1. Cambie a Visual Studio y vaya al menú Depurar.
  2. Elija "Adjuntar al proceso"
  3. Encuentre iexplore en la lista y selecciónelo.
  4. Haga clic en el botón "Seleccionar ...".
  5. En el cuadro de diálogo, elija "Depurar estos tipos de código:" y seleccione solo "Secuencia de comandos".
  6. Haga clic en "Aceptar"
  7. Haga clic en "Adjuntar"

ver si consigue obtener que la depuración de JavaScript.

0

Greg responde a la pregunta, sin embargo, sólo para añadir algo de más valor para contestar -

depurador Poner en el código java script.

Además asegúrese de tener depurador habilitado en el Explorador de Internet> Herramientas> Opciones de Internet> Advance

las casillas de verificación de depuración con discapacidad no deben ser revisados.

1

me pasó a mí también.Los puntos de interrupción se detuvieron para funcionar en algunas funciones. En mi caso, el problema fue que utilicé <%=..%> dentro del script. Por lo que pude deducir leyendo MSDN, esto sucede porque Visual Studio mapea las líneas de punto de interrupción del .ASPX al HTML resultante en función del contenido de la línea, por lo que cuando pones un <%=..> tu script resultante será diferente al del archivo .ASPX .

0

En mi caso, se debió que estaba usando

$ .ajax ({ tipo: "GET",

lugar $ .ajax ({ tipo: "POST", ...

+0

¿Tus dos líneas son idénticas? ¿Cuál es la diferencia que se supone que es? –

+0

Gracias cale_b, ya lo cambio. –

1

No debería tener que poner el depurador en el javascript. Tuve que pasar esto y la razón fue que había un error en el script en un bloque try catch en términos de sintaxis. Tan pronto como arreglé la sintaxis, breakpoints mapeado correctamente de nuevo.

-1

Sólo tienes que escribir la función de alerta en el guión para cada línea o cualquier línea, si la alerta no se dispara entonces podemos identificar la línea donde su través el error

<script type="text/javascript"> 
$(function() { 
    //event handler to the checkbox selection change event 
    $("input[type=checkbox]").change(function() { 
     //variables to store the total price of selected rows 
     //and to hold the reference to the current checkbox control 
     var totalPrice = 0, ctlPrice; 
     //iterate through all the rows of the gridview 
     $('#Grid2 tr').each(function() { 
     //if the checkbox in that rows is checked, add price to our total proce 
      alert("Hi") 
      if ($(this).find('input:checkbox').attr("checked")) { 
       ctlPrice = $(this).find('[id$= lblPackAmount]'); 
       //since it is a currency column, we need to remove the $ sign and then convert it 
       //to a number before adding it to the total 
       totalPrice += parseFloat(ctlPrice.text().replace(/[^\d\.]/g, '')); 
      } 
     }); 
     //finally set the total price (rounded to 2 decimals) to the total paragraph control. 
     //alert(totalPrice); 
     $('#lblAmount').text(totalPrice);    
    }); 
}); 
</script> 
+0

¿Qué es todo este código? ¿Tiene esto algo que ver con la pregunta? – mastov

Cuestiones relacionadas