【问题标题】:VBS Stop not triggering Just In Time DebuggerVBS 停止不触发即时调试器
【发布时间】:2015-01-22 06:33:45
【问题描述】:

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

我和其他 2 位同事一直在研究这个问题,但我们都无法弄清楚问题所在。我们已经卸载并重新安装了 Microsoft 脚本编辑器,我们已经更新了注册表值,我们已经将自己添加到调试器用户组中。我们有管理员权限等。

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

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

【问题讨论】:

    标签: debugging vbscript jit


    【解决方案1】:

    一年后偶然发现这篇文章...希望同时您找到了解决方案。

    当我需要对我的 VBS 脚本进行 JIT 调试时,我也遇到了这个问题;我已经意识到调试器不会在 Stop 语句时启动,但只有在抛出 Exception 的情况下才会启动;进入调试模式后,Stop 语句应该会再次起作用,但您需要生成异常才能调用调试器。

    当我需要中断 VBScript 时,我通常会调用一个不存在的函数来故意引发异常:这将触发调试器并且我可以使用它。

    示例代码:

        (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 Community Ed。这样做,而 MS Script Editor 和 Visual Studio 2010 Professional 允许您移动指针并进行逐步调试。还在调查这个!

    HTH,

    马克斯 - 意大利

    【讨论】:

      【解决方案2】:

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

      cscript //x nameofscript.vbs工作?

      【讨论】:

        猜你喜欢
        • 2014-01-16
        • 1970-01-01
        • 1970-01-01
        • 2013-07-05
        • 1970-01-01
        • 2016-04-02
        • 2015-10-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多