VBS停止不触发Just In Time Debugger

时间:2014-11-24 14:03:47

标签: debugging vbscript jit

我在脚本上使用Stop语句时遇到JIT调试器事件触发器时遇到严重问题。

我和其他两位同事一直在研究这个问题,我们都不知道问题是什么。我们已经卸载并重新安装了Microsoft脚本编辑器,并且我们已经更新了注册表值,我们已将自己添加到调试器用户组中。我们有管理员权限等。

不使用此调试器不是一个选项,是一个项目要求,但我们不能让它在我们的两台机器上工作。但是,团队领导机器确实有效。但我们有2台机器,调试事件不会触发。比较设置时,一切似乎都是有序的。

我们已按照MSDN上的说明以及网络上发现的其他各种说明进行操作。

2 个答案:

答案 0 :(得分:0)

MDM.exe是否在任务管理器中运行? (它是一项服务,机器调试管理器)。

cscript //x nameofscript.vbs工作?

答案 1 :(得分:0)

在一年之后偶然发现这篇文章...希望在此期间你找到了解决方案。

当我需要JIT-Debug我的VBS脚本时,我也遇到了问题。我已经意识到调试器不会在Stop语句中启动,但仅限于抛出 Exception 的情况;在调试模式之后,Stop语句应该再次起作用,但是您需要生成异常才能调用调试器。

当我需要打破VBScript时,我通常会调用一个不存在的函数来故意引起一个ecxeption:这将触发调试器并且我能够使用它。

示例代码:

    (do something) 
    DEBUG_INVOKE        ' Function DEBUG_INVOKE does not exist => Exception.
                        ' you can actually type whatever you want,  eg. 'stp', 'stopp', 'xxx', etc.
                        ' provided, of course, it's NOT the name of a Sub or Function present in 
                        ' your script.
    (do other stuff)

进入调试模式后,您可能无法从中断位置移动:它取决于调试器:我知道,即MS Script Debugger和Visual Studio 2015社区Ed。这样做,而MS Script Editor和Visual Studio 2010 Professional允许您移动指针并执行逐步调试。还在调查这个!

HTH,

Max - 意大利