Freigeben über


JSConstraintsDebug

JSConstraintsDebug (JSConstraintsDebug.exe) ist ein Befehlszeilentool, das Debuggingunterstützung für JavaScript-Einschränkungen während der Entwicklung eines V4-Druckertreibers bereitstellt.

Wo kann ich JSConstraintsDebug herunterladen?

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

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 einen entsprechenden IDE-Debugger wie Visual Studio auf. Nach der Auswahl werden die Constraints im Quellcode geöffnet und an einer JavaScript-Debugger-Anweisung angehalten.

Führen Sie die folgenden Schritte aus, um JS-Einschränkungsdateien zu debuggen:

  1. Öffnen Sie ein Eingabeaufforderungsfenster.

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

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

Ausführen von JSConstraintsDebug im Benutzermodus

Zum Aktivieren des Debuggens von JS-Funktionen sind erhöhte Berechtigungen erforderlich. Um im Benutzermodus ausgeführt zu werden, muss der folgende Registrierungsschlüssel vor dem Ausführen von JSConstraintsDebug.exefestgelegt werden:

Schlüsselname

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

Wertbezeichnung

Aktiviere JavaScript-Debugging

Typ

DWORD

Wert

1

JavaScript-Debuggeranweisungen

Haltepunkte können in der JavaScript-Quelle mithilfe der Debugger-Anweisung erstellt werden. Dadurch wird der Vorgang in Visual Studio angehalten, sodass schrittweises Debuggen möglich ist. Diese Anweisungen können in eine 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

Die Parameter BESCHREIBUNG

PrinterName

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

Druckticket

Erforderlich. Gibt den Pfad und den Namen einer XML-Druckticketdatei an, die überprüft werden soll.

MergePrintTicket

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

Wenn dieser Parameter nicht festgelegt ist, wird der Standard devMode in ein Print Ticket konvertiert und an die Merge- und Validate-API übergeben.

Zwänge

Wahlfrei. Gibt den Pfad und den Namen einer JavaScript-Einschränkungsdatei an, die die vorhandene Einschränkungsquelldatei ersetzt, die im Zieldruckertreiber vor dem Debuggen gefunden wird.

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

beispiele für

Debuggen eines Drucktreibers für ein bekanntes Testdruckticket.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml

Debuggen eines Druckertreibers mit einer neuen Einschränkungsdatei anhand eines vorhandenen Testdrucktickets.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml Constraints.js

Testen Sie das Zusammenführen und Überprüfen von Vorgängen zwischen zwei benutzerdefinierten Drucktickets.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml PrintTicket2.xml