问题(来自nuget PowerShell):
状态:
目前我可以从powershell(带有$ DTE对象)将VS附加到IIS和IE9选项卡进程。但是我无法调试javascript代码(我认为VS默认只调试.net代码而不是脚本)。
我看过EnvDTE80.Transport,但我不知道如何在nuget PowerShell中使用它。 你有任何调试js的想法吗?或者采用完全不同的方法解决问题?
更新(8月8日): 我能够附加到IE9调试js但是我发现我的问题完全不同了:
但我过早地将调试器附加到进程并且调试不起作用。
答案 0 :(得分:1)
我没有通过VS对象模型完成此操作,但是通过GUI,当您连接到正在运行的进程(如IE9)时,您可以选择所需的调试器类型。在这种情况下,您需要“脚本”调试器。如果这可以通过GUI完成,那么我怀疑它可以通过对象模型完成。 VS中的宏录制器可以很好地计算出这样的东西。当我通过GUI执行连接的步骤时,我打开了它,并得到了这个:
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 :(得分:0)
我使用firebug在Firefox中调试Javascript。 Chrome有同等的价值。 从未在IE中尝试过,但我认为IE有一个Firebug版本。