Javascript 是否可以从jscript发出一条在DebugViewer中可见的消息?
我有一些应用程序通过windows脚本主机调用的javascript代码。是否可以通过某种方式从此jscript代码发送调试消息,以便我可以在DebugViewer中查看它(Javascript 是否可以从jscript发出一条在DebugViewer中可见的消息?,javascript,Javascript,我有一些应用程序通过windows脚本主机调用的javascript代码。是否可以通过某种方式从此jscript代码发送调试消息,以便我可以在DebugViewer中查看它(dbgview.exe,它捕获通过OutputDebugString())发送的消息?Windows脚本主机的jscript具有将输出发送到脚本调试器的功能和方法,虽然我不知道DebugView是否能捕捉到这些字符串。调查显示,ECMAScript和Windows脚本主机都无法以内置方式将消息发送到“调试输出”中。也没有办法
dbgview.exe
,它捕获通过OutputDebugString()
)发送的消息?Windows脚本主机的jscript具有将输出发送到脚本调试器的功能和方法,虽然我不知道DebugView是否能捕捉到这些字符串。调查显示,ECMAScript和Windows脚本主机都无法以内置方式将消息发送到“调试输出”中。也没有办法从Windows脚本主机调用WinAPI函数。如果您确实想这样做,可以通过PowerShell。这是一个VBScript示例,您可以很容易地适应JScript:
Option Explicit
OutputDebugString "some message"
Sub OutputDebugString(message)
Dim WshShell, cmd
message = Replace(message, "'", "' + ""'"" + '")
message = Replace(message, vbCr, "' + ""`r"" + '")
message = Replace(message, vbLf, "' + ""`n"" + '")
Set WshShell = WScript.CreateObject("WScript.Shell")
cmd = "Add-Type -Name C -NS """" -MemberDefinition '[DllImport(""kernel32.dll"")]public static extern void OutputDebugString(String s);'"
cmd = cmd & "; [C]::OutputDebugString('" & message & "')"
cmd = "PowerShell """ & Replace(cmd, """", "\""") & """" ' \""
WshShell.Run cmd, 0, True
End Sub
DebugView无法捕获以下字符串:(。