Share via


JSConstraintsDebug

JSConstraintsDebug (JSConstraintsDebug.exe) ist ein Befehlszeilentool, das Beim Entwickeln eines V4-Druckertreibers Debugunterstützung für JavaScript-Einschränkungen bereitstellt.

Wo kann ich JSConstraintsDebug herunterladen?

JSConstraintsDebug.exe ist im Microsoft Windows Driver Kit (WDK) enthalten. Informationen zum Abrufen des WDK finden Sie unter Windows Driver Kit-Downloads.

Das Tool führt jede der folgenden relevanten Einstiegspunkt-APIs für die JavaScript-Einschränkungen des Zieltreibers für das vom Benutzer bereitgestellte Druckticket aus:

PTGetPrintCapabilities

PTConvertDevModeToPrintTicket

TConvertPrintTicketToDevMode

PTMergeAndValidatePrintTicket

Während der Ausführung fordert das Tool zur Eingabe eines entsprechenden IDE-Debuggers wie Visual Studio auf. Bei der Auswahl wird der Quellcode der Einschränkungen bei einer JavaScript-Debuggeranweisung geöffnet und beendet.

Führen Sie zum Debuggen von JS-Einschränkungsdateien die folgenden Schritte aus:

  1. Öffnen Sie ein Eingabeaufforderungsfenster.

  2. Führen Sie das JSConstraintsDebug.exe-Tool aus, und geben Sie mindestens den Druckernamen und den Pfad zu einem Testdruckticket an.

  3. Wählen Sie das Debugtool aus, das Sie verwenden möchten.

Ausführen von JSConstraintsDebug im Benutzermodus

Zum Aktivieren des Debuggens von JS-Funktionen sind erhöhte Berechtigungen erforderlich. Zum Ausführen im Benutzermodus muss der folgende Registrierungsschlüssel festgelegt werden, bevor JSConstraintsDebug.exe ausgeführt wird:

Schlüsselname

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

Wertname

EnableJavaScriptDebugging

Typ

DWORD

Wert

1

JavaScript-Debuggeranweisungen

Haltepunkte können mit der Debuggeranweisung in der JavaScript-Quelle erstellt werden. Dadurch wird der Vorgang in Visual Studio angehalten, das schrittweise Debuggen ermöglicht. Diese Anweisungen können in jede der JavaScript-Einschränkungs-APIs eingefügt werden.

Beispiel:

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

JSConstraintsDebug-Befehlssyntax

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

Befehlsparameter

Parameter Beschreibung

Printername

Erforderlich. Gibt den Zeichenfolgennamen eines Drucktreibers an, der die Quelldatei für JS-Einschränkungen enthält. Dieser Treiber wird für alle Debugvorgänge verwendet.

Printticket

Erforderlich. Gibt den Pfad und den Namen einer zu überprüfenden XML-Druckticketdatei an.

MergePrintTicket

Optional. Gibt den Pfad und den Namen einer XML-Druckticketdatei an, die zum Überprüfen eines Mergevorgangs verwendet wird.

Wenn dieser Parameter nicht festgelegt ist, wird der DevMode-Standard in ein Druckticket konvertiert und an die Merge- und Validierungs-API übergeben.

Einschränkungen

Optional. Gibt den Pfad und den Namen einer JavaScript-Einschränkungsdatei an, die die vorhandene Quelldatei für Einschränkungen ersetzt, die vor dem Debuggen im Zieldruckertreiber gefunden wurde.

Hinweis Wenn Sie eine Einschränkungsdatei mit dem Parameter Constraints angeben, wird der vorhandene Quellcode im Zieltreiber überschrieben.

Beispiele

Debuggen eines Drucktreibers für ein bekanntes Testdruckticket.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml

Debuggen Sie einen Drucktreiber mit einer neuen Quelldatei für Einschränkungen für ein bekanntes Testdruckticket.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml Constraints.js

Testen Sie Merge- und Validierungsvorgänge zwischen zwei benutzerdefinierten Drucktickets.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml PrintTicket2.xml