2009-10-04 6 views
0

J'essaie de déboguer JavaScript dans Visual Studio 2008. J'utilise ASP.NET MVC, jQuery et jQueryUI.Problèmes de définition de points d'arrêt pour JavaScript dans Visual Studio 2008

Je peux définir un point d'arrêt, mais lorsque je commence le débogage, Visual Studio modifie l'icône du point d'arrêt en une avec un avertissement. Planant au-dessus de l'icône révèle alors une info-bulle qui dit:

"The breakpoint will not currently be hit. The document is not loaded." 

Dans IE8, je « Désactiver le débogage des scripts » sans contrôle pour IE et d'autres navigateurs.

Mon code JavaScript est très simple et n'est pas généré dynamiquement. Qu'est-ce que je rate?

Répondre

2

Essayez de taper le code "débogueur;" à l'endroit où vous voulez le point de rupture. Lorsque IE atteint cette ligne, il doit s'arrêter si un débogueur est attaché ou non. Visual Studio fera ce que vous avez décrit au démarrage, car le code n'est pas encore exécuté. Êtes-vous sûr que le code a été chargé dans le navigateur lorsque vous regardez le débogueur? Si le code a déjà été exécuté et qu'il affiche toujours le document comme non chargé, vous pouvez placer le point d'arrêt dans la mauvaise version du fichier. (VS va créer des documents temporaires pour certains JavaScript pendant le débogage, si vous y mettez des points d'arrêt au cours d'une session de débogage, ils ne fonctionneront pas pour la prochaine session de débogage.)

Modifier

Si vous travaillez avec un projet "application Web", vous devez également vérifier le fichier web.config pour vous assurer que le débogage est activé.

+0

Merci pour le "débogueur"; allusion. Je ne savais pas à ce sujet. Je crois que le code a été chargé quand je regarde le débogueur. Je peux déboguer plus ou moins OK avec Firebug, donc je pense que j'ai l'idée générale. Où devrais-je rechercher les documents temporaires que vous mentionnez? – royco

+0

Les documents temporaires apparaissent automatiquement et se ferment généralement lorsque vous arrêtez le débogage. Ils sont générés lorsque vous entrez ou cassez une erreur dans un javascript qui n'a pas de fichier source direct (par exemple un script "eval"). –

Questions connexes