2012-02-16 111 views
5

我有一个通常由cscript.exe执行的.js文件(即未在浏览器中运行并且无法在那里运行)。在Visual Studio(或其他JS调试器)中调试Javascript

我知道,我可以喂cscript.exe//X参数,以便得到一个调试器要求选择。好。没关系。

我选择“Visual Studio 2005调试器”,IDE出现,执行停止在第一行。精细。

脚本终止(或我终止它),我编辑的东西,并希望再次调试。

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

现在是什么?对于每次调试运行,再次从命令行开始cscript.exe在我看来是相当麻烦的。

有没有办法简单地用VS调试脚本?另外提示其他调试工具,将不胜感激。


编辑:
的的t0nyh0answer是八九不离十。我创建了一个虚拟控制台应用程序,编译并调试器出现。然而,两件事情是不完美的

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

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

+0

对于Visual Studio中的“生成事件”选项卡上的“2.”,在运行“生成后”事件时有不同的选项。至少在VS 2010中,您的选项是“始终”,“成功构建”和“构建更新项目输出时”。不知道2005年是否一样。 – BryanJ 2012-03-16 11:31:21

回答

2

有可能不是将调试器附加到cscript.exe本身的一种方式,但你可以创建一个运行执行的cscript.exe //x myScript.js命令批处理文件生成后事件,这样每次构建的时候,它会自动执行。

对生成后事件的更多信息,请参见本:http://msdn.microsoft.com/en-us/library/ke5z92ks(v=vs.80).aspx

+0

+1这非常接近!查看更新的问题。 – eckes 2012-03-14 07:07:36

2

虽然不是一个调试器工具,你应该考虑使用JavaScript测试框架的Visual Studio,如Chutzpah,这将最有可能让你的生活很容易。

除了标准的浏览器调试工具(Firebug或Chrome Inspector)之外,我发现这些都是我通常需要构建干净,经过测试的,大部分无bug的JavaScript代码。

1

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

使用cscript.exe //x myScript.js启动您的js后,单击“调试 - 附加到进程”,找到您的cscript.exe进程并附加到它。

我忘了如果VS2005有这个功能,但VS2008和VS2010做。

这是VS用来调试(附加到正在运行的进程)的本地调试操作。如果这不起作用,我不认为你可以使用Visual Studio做到这一点。