通过


JSConstraintsDebug

JSConstraintsDebug (JSConstraintsDebug.exe) 是一种命令行工具,在开发 V4 打印机驱动程序时为 JavaScript 约束提供调试支持。

在哪里可以下载 JSConstraintsDebug?

Microsoft Windows 驱动程序工具包(WDK)中包括 JSConstraintsDebug.exe。 有关获取 WDK 的信息,请参阅 Windows 驱动程序工具包下载

该工具针对用户提供的打印票证对目标驱动程序的 JavaScript 约束执行以下每个相关的入口点 API:

PTGetPrintCapabilities

PTConvertDevModeToPrintTicket

TConvertPrintTicketToDevMode

PTMergeAndValidatePrintTicket

在执行期间,该工具将提示输入适当的 IDE 调试器,例如 Visual Studio。 选择后,将在 JavaScript 调试器语句中打开和停止约束源代码。

若要调试 JS 约束文件,请执行以下步骤:

  1. 打开命令提示符窗口。

  2. 运行 JSConstraintsDebug.exe 工具,并至少指定测试打印票证的打印机名称和路径。

  3. 选择要使用的调试工具。

在用户模式下运行 JSConstraintsDebug

启用 JS 函数调试需要提升权限。 若要在用户模式下运行,在执行 JSConstraintsDebug.exe之前必须设置以下注册表项:

密钥名称

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print

值名称

EnableJavaScriptDebugging

类型

DWORD

价值

1

JavaScript 调试器语句

可以使用调试器语句在 JavaScript 源中创建断点。 这将在 Visual Studio 中暂停操作,并允许分步调试。 可以在任何 JavaScript 约束 API 中插入这些语句。

例如:

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

JSConstraintsDebug 命令语法

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

命令参数

参数 DESCRIPTION

PrinterName

必填。 指定包含 JS 约束源文件的打印驱动程序的字符串名称。 此驱动程序将用于所有调试操作。

PrintTicket

必填。 指定要验证的打印票证 XML 文件的路径和名称。

合并打印票据

可选。 指定用于验证合并作的打印票证 XML 文件的路径和名称。

如果未设置此参数,则默认 DevMode 将转换为打印票证,并将传递给合并和验证 API。

约束

可选。 指定 JavaScript 约束文件的路径和名称,该文件将在调试之前替换目标打印机驱动程序中找到的现有约束源文件。

注意 使用 Constraints 参数指定约束文件将覆盖目标驱动程序中的现有源代码。

示例

针对已知的测试打印票证调试打印驱动程序。

JSConstraintsDebug “Contoso Printer” PrintTicket.xml

针对已知的测试打印票证使用新的约束源文件调试打印驱动程序。

JSConstraintsDebug “Contoso Printer” PrintTicket.xml Constraints.js

测试两个自定义打印票证之间的合并和验证作。

JSConstraintsDebug “Contoso Printer” PrintTicket.xml PrintTicket2.xml