.net开发调试小技巧:VS2008附加进程宏命令制作

我是一个B/S程序开发者,所以经常调试ASP.NET程序,而我们的项目使用的是本地IIS Web服务器,为了方便调试,我一般不会去按F5调试,而是附加进程的方式调试,因为这样的好处是:

1.      不用每次都等待IE漫长的开启时间,之前打开一次即可。

2.      省去每次都登录

3.    ajax调用后台代码的时候,如果后台出错,停止调试后IE不会关闭,下次无需其他初始操作。

但是附加进程的方式,每次调试都需要几步操作才能完成,所以想起用宏来录制一个脚本,方便操作。

具体步骤:(以VS2008Win7为例,其他系统因IE版本差异而不同)

1、点击菜单Tools->Macros->Record TemporaryMacro

2、录制附加进程的一连串操作

3、操作完成后点Stop,然后就可以在Macros IDE里看到刚才录制的宏了。

下面是我录制的附加w3wp.exe调试后台代码的宏:

Sub DebugBLLMacro()

 

        Try

            Dim dbg2 As EnvDTE80.Debugger2 = DTE.Debugger

            Dim trans As EnvDTE80.Transport = dbg2.Transports.Item("Default")

            Dim dbgeng(3) As EnvDTE80.Engine

            dbgeng(0) = trans.Engines.Item("T-SQL")

            dbgeng(1) = trans.Engines.Item("T-SQL")

            dbgeng(2) = trans.Engines.Item("Managed")

            Dim proc2 As EnvDTE80.Process2 = dbg2.GetProcesses(trans, "TP0659").Item("w3wp.exe")

            proc2.Attach2(dbgeng)

        Catch ex As System.Exception

            MsgBox(ex.Message)

        End Try

End Sub

注:上面的TP0659因个人机器名不同而不同

 

4、在工具栏上点击右键,选择Customize,选择commands标签页,找到刚才录制的宏,将其拖到工具栏上即可

5、如果美化一下,可以设置图标,然后设置只显示图标。

以后再调试后台代码的时候直接点这个图标就可以了

 

在录制宏调试前台JS脚本的时候发现VS2008自动录制的脚本并不能调试

因为进程中有几个IE,只有附加到typescript的才能调试(这个地方好像IE8才这样)

所以在录制的脚本上进行了简单的修改,使所以IE进程都附加。

具体脚本:

Sub DebugWebUI()

        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 procs As EnvDTE.Processes = dbg2.GetProcesses(trans, "TP0659")

            Dim proc2 As EnvDTE80.Process2

            For Each proc2 In procs

                If (Right(proc2.Name, 12) = "iexplore.exe") Then

                    proc2.Attach2(dbgeng)

                End If

            Next

        Catch ex As System.Exception

            MsgBox(ex.Message)

        End Try

End Sub

 

写在最后,以上脚本只是使用VS录制后简单修改,没有完善的异常处理等。

还有就是如果你开了其他IE窗口,即使不是开发的程序的IE窗口也将被附加,这个不知道有啥办法能指定。因为每次打开IE后的进程号不一样。

来自:http://www.web2bar.cn/Article/4611.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值