Поделиться через


JSConstraintsDebug

JSConstraintsDebug (JSConstraintsDebug.exe) — это программа командной строки, которая обеспечивает поддержку отладки ограничений JavaScript при разработке драйвера принтера версии 4.

Где можно скачать JSConstraintsDebug?

JSConstraintsDebug.exe входит в комплект драйверов Microsoft Windows (WDK). Сведения о получении WDK см. в разделе Скачивание комплекта драйверов Для Windows.

Средство выполняет каждый из следующих соответствующих API-интерфейсов точек входа в ограничениях JavaScript целевого драйвера в отношении предоставленного пользователем билета на печать:

PTGetPrintCapabilities

PTConvertDevModeToPrintTicket

TConvertPrintTicketToDevMode

PTMergeAndValidatePrintTicket

Во время выполнения средство запросит соответствующий отладчик интегрированной среды разработки, например Visual Studio. После выбора исходный код ограничений будет открыт и остановлен в инструкции отладчика JavaScript.

Чтобы отладить файлы ограничений JS, выполните следующие действия.

  1. Откройте окно командной строки и

  2. Запустите средство JSConstraintsDebug.exe и укажите как минимум имя принтера и путь к тестовой печати.

  3. Выберите средство отладки, которое вы хотите использовать.

Запуск JSConstraintsDebug в пользовательском режиме

Для включения отладки функций JS требуются повышенные привилегии. Для запуска в пользовательском режиме перед выполнением JSConstraintsDebug.exe необходимо задать следующий раздел реестра:

Имя раздела

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

Имя значения

EnableJavaScriptDebugging

Type

DWORD

Значение

1

Инструкции отладчика JavaScript

Точки останова можно создать в источнике JavaScript с помощью инструкции отладчика. Это приостановит работу в Visual Studio, чтобы выполнить пошаговую отладку. Эти инструкции можно вставить в любой api ограничения JavaScript.

Пример:

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

Синтаксис команды JSConstraintsDebug

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

Параметры команды

Параметры Описание

PrinterName

Обязательный. Задает строковое имя драйвера печати, содержащего исходный файл ограничений JS. Этот драйвер будет использоваться для всех операций отладки.

Printticket

Обязательный. Указывает путь и имя XML-файла билета на печать для проверки.

MergePrintTicket

Необязательный элемент. Указывает путь и имя XML-файла билета на печать, который будет использоваться для проверки операции слияния.

Если этот параметр не задан, devMode по умолчанию преобразуется в билет печати и передается в API слияния и проверки.

Зависимости

Необязательный элемент. Указывает путь и имя файла ограничений JavaScript, который заменит существующий исходный файл ограничений, найденный в целевом драйвере принтера перед отладкой.

Примечание Указание файла ограничений с параметром Constraints приведет к перезаписи существующего исходного кода в целевом драйвере.

Примеры

Отладка драйвера печати с использованием известного тестового билета печати.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml

Отладка драйвера печати с новым исходным файлом ограничений для известного тестового билета печати.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml Constraints.js

Протестируйте операции слияния и проверки между двумя пользовательскими билетами печати.

JSConstraintsDebug “Contoso Printer” PrintTicket.xml PrintTicket2.xml