11
votes

Débogage avec réponse.write dans l'ASP classique

J'essaie de déboguer du code à l'aide de réponse.write , mais lorsque j'exécute le code, il passe sur cette instruction et erreurs à un moment donné dans le code.

Comment puis-je obtenir mon réponse.write instructions à afficher sans les autres erreurs à venir?


0 commentaires

7 Réponses :


2
votes

Essayez un Réponse.Flush après vos claots de débogage, ou Réglage Response.buffer à FALSE.


0 commentaires

3
votes

Vous devrez utiliser l'instruction "SUR ERROR CV NEXT" "en haut de votre page ASP. Cela résoudra votre problème lorsqu'une erreur se produit, elle se déplacera à la ligne suivante plutôt que de lancer une erreur.

Vous pouvez vérifier ce lien http: // www. Powerasp.com/content/new/on-Error-Resume-next.asp pour référence.

codage heureux


3 commentaires

N'oubliez pas de fermer ce bloc d'erreur avec un "sur erreur goto 0" à la fin


Je ne pense pas que "sur l'erreur goto 0" fonctionne dans l'ASP classique (au moins c'est ce que j'avais en train de vivre une fois.


@Edelcom: "sur erreur goto suivant" et "on erreur goto 0" sont les seules deux opérations "sur l'erreur" qui fonctionnent dans VBScript



4
votes

commenter la ligne qui donne l'erreur et voir ce que l'affichage de respnse.write est la seule chose raisonnable.

N'utilisez pas le sur erreur CV Suivant code> pendant que vous développez votre pages. Vous devez vous assurer que vous construisez correctement vos pages et que vous produisez du code correct. Vous ne verrez aucune erreur si vous utilisez sur erreur CV Suivant code>. P>

sur erreur CV Suivant code> ne doit être utilisé qu'à mon avis dans les actions de base de données et dans le code livré (non-développant). Dans ce cas, vous devez utiliser la construction P>

if Err.Number <> 0 then 


0 commentaires

11
votes

J'utilise assez fréquemment réponse.end quand je dois voir un statut dans un certain endroit sur une page.


0 commentaires

11
votes

Nous utilisons Visual Studio 2008 pour déboguer des pages ASP classiques classiques. Vous pouvez vous attacher au processus IIS et "pas à travers" la page. C'est très gentil. Voici les étapes:

  1. Dernier de l'ASP classique à partir du contrôle de la source.

  2. Installer IIS (si non déjà). FYI ... J'utilise IIS 5.1.

  3. Créez un répertoire virtuel appelé "classicdebug" pointant vers votre annuaire local (c: \ sites Web \ classicwebsite).

  4. Affiche les propriétés du répertoire virtuel, onglet Directory virtuel.

  5. Activez la case à cocher "Accès à la source de script".

  6. bouton de configuration, onglet Options - Vérifiez tout.

  7. onglet de débogage - Vérifiez tout.

    7a. Dans l'onglet ASP.NET, sélectionnez 2.x

  8. chargez-vous (non exécuté ni débogage ni f5) le site Web de vs.net 2008.

  9. Modifiez votre global.asa en conséquence (sources de données et chemins).

  10. trouver la page .ASP que vous souhaitez "interroger" et définir un point de rupture en haut (ou quelque part).

  11. Ouvrez IE et accédez à votre page.

  12. retourne à vs.net et sélectionnez Débogou -> Joindre au processus

  13. Vérifiez "Afficher les processus de tous les utilisateurs" et sélectionnez le processus. Pour moi (IIS 5.1), le nom du processus est DLLHOST.exe en cours d'exécution avec le compte iWAM_ComputerName W / Type "Script, T-SQL, géré, X86".

  14. Visitez votre page en utilisant IE ... vs.net devrait casser.


1 commentaires

Merci pour le pas à pas de le faire avec VS 2008. J'utilise actuellement le développeur Web Visual Web et ne permet pas de fixer des processus



1
votes

Cela pourrait aider comme alternative à la réponse.write.

Je mets ensemble cette asp include la classe qui fonctionne avec Firebug + FirephP. Il vous permet de connecter des valeurs (y compris des chaînes, des tableaux multidimensionnels et même des objets créés avec json.asp) à la console Firebug et affichez des objets de collecte intégrés d'ASP qui peuvent aider (en particulier avec AJAX où vous ne pouvez pas générer de données de débogage sans Briser la réponse JSON.) Les temps de chargement de script Ajax et les erreurs sont automatiquement connectés pour une visualisation rapide.

https://github.com/dmeagor/classicasp-firephp

Incluez simplement le fichier et utilisez le journal (environ) pour envoyer des variables formatées à la console Firebug.

libéré sous licence MIT Open Source


0 commentaires

1
votes

Parler d'options alternatives, de David Meagor Post, vous pouvez également écrire des traces dans un fichier. Voici un exemple de comment écrire dans des fichiers: http://www.4guysfromrolla.com/ WebTech / 040699-1.shtml

Si vous le souhaitez, vous pouvez même mettre les sous-programmes de trace dans un fichier incluant et l'utiliser dans toutes vos pages lorsque vous en avez besoin.

Une autre solution que nous utilisons consiste à placer les méthodes de traçage dans un assembly .NET, enregistrez-la sous forme de COM puis appelez-le à l'aide de CreateObject.

Ces options vous permettront de garder vos traces dans un fichier que vous pouvez examiner ultérieurement et partager avec d'autres développeurs.

J'utilise personnellement un mélange de ces approches: j'examine les fichiers journaux, utilisez des points d'arrêt et même le lieu de temps en temps une réponse.write.

Une autre chose: activez et passez en revue les journaux IIS: ils vous diront souvent sur la ligne de votre page cassée. Vous pouvez lire ici comment activer ou désactiver les journaux pour Classic Asp: https: // TechNet .microsoft.com / fr-US / US / Bibliothèque / HH831387.aspx .


0 commentaires