Partager via


JSConstraintsDebug

JSConstraintsDebug (JSConstraintsDebug.exe) est un outil en ligne de commande qui prend en charge le débogage des contraintes JavaScript lors du développement d’un pilote d’imprimante V4.

Où puis-je télécharger JSConstraintsDebug ?

JSConstraintsDebug.exe est inclus dans le Kit de pilotes Microsoft Windows (WDK). Pour plus d’informations sur l’obtention du kit WDK, consultez Téléchargements du Kit de pilotes Windows.

L’outil exécute chacune des API de point d’entrée pertinentes suivantes sur les contraintes JavaScript du pilote ciblé sur le ticket d’impression fourni par l’utilisateur :

PTGetPrintCapabilities

PTConvertDevModeToPrintTicket

TConvertPrintTicketToDevMode

PTMergeAndValidatePrintTicket

Pendant l’exécution, l’outil vous invite à entrer un débogueur IDE approprié, tel que Visual Studio. Lors de la sélection, le code source des contraintes est ouvert et arrêté au niveau d’une instruction de débogueur JavaScript.

Pour déboguer des fichiers de contraintes JS, procédez comme suit :

  1. Ouvrez une fenêtre d’invite de commandes.

  2. Exécutez l’outil JSConstraintsDebug.exe et spécifiez au minimum le nom de l’imprimante et le chemin d’accès à un ticket d’impression de test.

  3. Choisissez l’outil de débogage que vous souhaitez utiliser.

Exécution de JSConstraintsDebug en mode utilisateur

Des privilèges élevés sont requis pour activer le débogage des fonctions JS. Pour s’exécuter en mode utilisateur, la clé de Registre suivante doit être définie avant l’exécution de JSConstraintsDebug.exe :

Nom de clé

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

Nom de la valeur

EnableJavaScriptDebugging

Type

DWORD

Valeur

1

Instructions du débogueur JavaScript

Des points d’arrêt peuvent être créés dans la source JavaScript à l’aide de l’instruction du débogueur. Cette opération de suspension dans Visual Studio autorise le débogage pas à pas. Ces instructions peuvent être insérées dans n’importe quelle API de contrainte JavaScript.

Par exemple :

function validatePrintTicket(PrintTicket, scriptContext)
{
    debugger; // debug tool will pause at this breakpoint
    ...
}

Syntaxe de la commande JSConstraintsDebug

JSConstraintsDebug <PrinterName> <PrintTicket> [MergePrintTicket] [Constraints]

Paramètres de commande

Paramètres Description

PrinterName

Obligatoire. Spécifie le nom de chaîne d’un pilote d’impression qui contient le fichier source de contraintes JS. Ce pilote sera utilisé pour toutes les opérations de débogage.

Printticket

Obligatoire. Spécifie le chemin d’accès et le nom d’un fichier XML de ticket d’impression à valider.

MergePrintTicket

Optionnel. Spécifie le chemin d’accès et le nom d’un fichier XML de ticket d’impression qui sera utilisé pour valider une opération de fusion.

Si ce paramètre n’est pas défini, devMode par défaut est converti en ticket d’impression et transmis à l’API Merge and Validate.

Contraintes

Optionnel. Spécifie le chemin d’accès et le nom d’un fichier de contraintes JavaScript qui remplace le fichier source de contraintes existant trouvé dans le pilote d’imprimante ciblé avant le débogage.

Note La spécification d’un fichier de contraintes avec le paramètre Constraints remplace le code source existant dans le pilote ciblé.

Exemples

Déboguer un pilote d’impression sur un ticket d’impression de test connu.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml

Déboguez un pilote d’impression avec un nouveau fichier source de contraintes sur un ticket d’impression de test connu.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml Constraints.js

Testez les opérations de fusion et de validation entre deux tickets d’impression personnalisés.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml PrintTicket2.xml