调试器已经附加 - cscript

时间:2013-01-21 05:31:43

标签: c++ windows debugging jscript

我有一个简短的JScript,可以创建一个活动的X对象并调用一个函数。该活动X对象是用C ++编写的。当我运行命令cscript scriptName.js //X时,我在调试模式下启动VS2012。比我尝试附加一个调试器,但你知道已经附加了一个调试器。

有没有办法重新连接调试器或连接到它如何?

我目前的解决方案是不使用JScript并从C ++调用代码。

1 个答案:

答案 0 :(得分:1)

您想使用哪个调试器?Visual Studio或WinDBG? 你真的需要调试JavaScript代码和C ++代码同时吗?

如果后者不是您的问题,并且您想要专注于C ++代码,则在Visual Studio(或WinDBG)中调试cscript.exe,而不使用/ x标志。甚至无需附加,您可以从Visual Studio开始使用F5进行调试。

  1. 在Visual Studio(2008年,2010年或2012年 - 它们全部工作)中,右键单击ActiveX项目(这是C ++项目)。
  2. 转到:配置属性 - >调试
  3. 在命令中放入cscript完整路径:C:\ Windows \ System32 \ cscript.exe
  4. 在Command Arguments中输入你JS文件的完整路径
  5. 在ActiveX代码上设置断点(在dllmain上,或COM对象的构造函数)
  6. 点击F5
  7. Visual Studio会抱怨缺少cscript的符号。没关系。继续。
  8. 你会遇到你的断点
  9. 有一点需要考虑:

    1. 设置符号路径以包含Microsoft符号。这样,您将看到调用代码的函数的名称(oleaut32.dll和朋友)。
    2. 此外,这是默认设置,但请确保:

      1. 同一属性框中的调试器类型可以是Native或Auto。