【问题标题】:Debugging Javascript in Visual Studio (or other JS debugger)在 Visual Studio(或其他 JS 调试器)中调试 Javascript
【发布时间】:2012-02-16 13:06:38
【问题描述】:

我有一个通常由cscript.exe 执行的 .js 文件(即不在浏览器中运行并且不能在那里运行)。

我知道,我可以将cscript.exe 提供给//X 参数,以便要求调试器进行选择。行。没关系。

我选择“Visual Studio 2005 Debugger”,IDE 出现,执行在第一行停止。很好。

脚本终止(或我终止它),我编辑了一些东西并想再次调试它。

简单的想法就是点击 F5 并再次运行调试器。但这不起作用。 VS 只是告诉我它在cscript.exe 中找不到任何调试符号:

现在呢?在我看来,每次调试运行再次从命令行启动 cscript.exe 非常麻烦。

有没有办法用 VS 简单地调试脚本?还可以提供其他调试工具的提示。


编辑:
t0nyh0answer 非常接近。我创建了一个虚拟控制台应用程序,编译并出现调试器。但是,有两件事并不完美

  1. cscript.exe 总是要求使用调试器(VS 的哪个实例)。
    可以通过直接在命令行中指定某个调试器实例来解决这个问题吗?

  2. 为了触发构建后事件,必须对源进行一些修改。目前,我只需添加/删除一个空白行来触发我的虚拟项目的构建。
    有没有办法始终执行构建后脚本,即使没有任何变化?

【问题讨论】:

  • 关于 2. 在 Visual Studio 的 Build Events 选项卡上,您在运行 Post Build 事件时有不同的选项。至少在 VS 2010 中,您的选项是“始终”、“成功构建”和“当构建更新项目输出时”。不确定 2005 年是否相同。

标签: javascript visual-studio debugging wsh


【解决方案1】:

可能无法将调试器附加到 cscript.exe 本身,但您可以创建一个构建后事件,该事件运行一个执行 cscript.exe //x myScript.js 命令的批处理文件,以便每次构建时,它会自动为您执行。

有关构建后事件的更多信息,请参阅此内容:http://msdn.microsoft.com/en-us/library/ke5z92ks(v=vs.80).aspx

【讨论】:

    【解决方案2】:

    虽然不是调试器工具,但您应该考虑使用适用于 Visual Studio 的 JavaScript 测试框架,例如 Chutzpah,这很可能会让您的生活更轻松。

    除了标准浏览器调试工具(Firebug 或 Chrome Inspector)外,我发现这就是我通常需要构建干净、经过测试、几乎没有错误的 JavaScript 代码的全部内容。

    【讨论】:

      【解决方案3】:

      我手头没有cscript,但我想你可以尝试手动将VS附加到进程中。

      使用cscript.exe //x myScript.js启动你的js后,点击“Debug - Attach to Process”,找到你的cscript.exe进程并附加到它。

      我忘了VS2005是否有这个功能,但VS2008和VS2010有。

      这是 VS 进行调试(附加到正在运行的进程)所采取的本机调试操作。如果这不起作用,我认为您无法使用 Visual Studio 执行此操作。

      【讨论】:

        【解决方案4】:

        最好的 Javascript 调试器是 Rhino 调试器 请参阅 http://www.mozilla.org/rhino/debugger.html 。 它是开源的,您可以获取调试器 GUI 的源代码。 您可以根据需要自定义它:-)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-08
          • 2014-06-30
          • 2023-03-23
          • 2023-04-08
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多