首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将VS2010附加到IE9和PowerShell以调试javascript

将VS2010附加到IE9和PowerShell以调试javascript
EN

Stack Overflow用户
提问于 2012-07-27 09:23:25
回答 2查看 524关注 0票数 0

问题(来自nuget PowerShell):

  • 启动IIS Express (网站位于文件夹中)已完成
  • 启动IE9到已完成的URL
  • 将当前VisualStudio实例附加到IIS以调试已完成的.net代码
  • 将当前VisualStudio实例附加到IE9以调试Javascript代码问题

状态:

目前,我可以从powershell (带有$DTE对象)将VS附加到IIS和IE9选项卡进程。但是,我无法调试javascript代码(我认为VS默认情况下只调试.net代码,而不是脚本)。

我看到了inside 80.传输,但我不知道如何在nuget PowerShell中使用它。您对调试js有什么想法吗?还是用完全不同的方法来解决这个问题?

更新(8月8日):可以附加到IE9调试js,但我发现我的问题完全不同:

  • 我使用powershell运行IIS Express
  • 我使用powershell运行IE9
  • 我可以得到"Process"es对象

但是我过早地将调试器附加到进程上,并且调试不起作用。

  • 我试过(即)要启动,请启动IE9,先附加到IIS,然后附加到IE9。现在我可以调试脚本,但不能调试。
  • 在将DTE附加到进程之前,我试着停止脚本5秒(Start-Sleep -s 5),现在我可以调试IE和IIS了。但我不喜欢睡眠解决方案(多少秒?)。
EN

回答 2

Stack Overflow用户

发布于 2012-07-27 17:16:35

我还没有通过VS对象模型这样做,但是通过GUI,当您附加到运行中的进程(如IE9 )时,您可以选择您想要的调试器类型。在这种情况下,您需要“脚本”调试器。如果这可以由GUI完成,那么我怀疑它可以通过对象模型来完成。VS中的宏记录器对像这样的东西很有帮助。在执行通过GUI附加的步骤时,我打开了它,得到了以下内容:

代码语言:javascript
复制
Sub TemporaryMacro()
    Try
        Dim dbg2 As EnvDTE80.Debugger2 = DTE.Debugger
        Dim trans As EnvDTE80.Transport = dbg2.Transports.Item("Default")
        Dim dbgeng(1) As EnvDTE80.Engine
        dbgeng(0) = trans.Engines.Item("Script")
        Dim proc2 As EnvDTE80.Process2 = dbg2.GetProcesses(trans, "HILLR1").Item("iexplore.exe")
        proc2.Attach2(dbgeng)
    Catch ex As System.Exception
        MsgBox(ex.Message)
    End Try

End Sub
票数 1
EN

Stack Overflow用户

发布于 2012-07-27 17:20:59

我使用firebug来调试Firefox中的Javascript。Chrome也有同样的价值。在IE中从未尝试过,但我认为IE有一个Firebug版本。

检查这个问题:Firebug equivalent for Internet Explorer

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11684976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档