.net开发调试小技巧:VS2008附加进程宏命令制作
来源:互联网 发布:java中线程同步的方法 编辑:程序博客网 时间:2024/06/06 13:56
我是一个B/S程序开发者,所以经常调试ASP.NET程序,而我们的项目使用的是本地IIS Web服务器,为了方便调试,我一般不会去按F5调试,而是附加进程的方式调试,因为这样的好处是:
1. 不用每次都等待IE漫长的开启时间,之前打开一次即可。
2. 省去每次都登录
3. ajax调用后台代码的时候,如果后台出错,停止调试后IE不会关闭,下次无需其他初始操作。
但是附加进程的方式,每次调试都需要几步操作才能完成,所以想起用宏来录制一个脚本,方便操作。
具体步骤:(以VS2008和Win7为例,其他系统因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,只有附加到type为script的才能调试(这个地方好像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
- .net开发调试小技巧:VS2008附加进程宏命令制作
- vs2008附加到进程无法调试
- IIS7配置asp.net网站以及Win7下VS2008无法附加到进程进行调试
- VS 附加到进程调试技巧
- VS 附加到进程调试技巧
- VS调试技巧之附加进程
- VS2008调试问题,附加到进程----与VS2003的区别
- installshield安装文件的制作小技巧--附加数据库
- 转:installshield安装文件的制作小技巧--附加数据库
- installshield安装文件的制作小技巧--附加数据库
- 附加进程调试说明
- 附加进程调试
- 附加进程调试
- gdb附加进程调试
- NET开发小技巧
- ASP.Net 附加调试,aspnet_wp.exe进程不能启动解决办法
- VS2008无法附加到进程进行调试 (2013-08-05 18:08:28)
- 使用IE8开发工具调试时,遇到“无法附加进程,进程可能附加了另一个调试程序”的解决方案
- 继承CWinthread,显示动态的启动进度条
- 显示动态进度条时,画界面的代码
- ZJU-1095
- C++ 序列化 serialization 如何将类持久化?
- C++中的vector
- .net开发调试小技巧:VS2008附加进程宏命令制作
- java源代码分析-jvm.dll装载过程
- nk1851 Get Tools from Doraemon's Pocket
- ZJU-1082
- typedef和define具体的详细区别
- JNI 简介
- ZJU-1099
- 基于 asterisk 的 CentOS 5 的 linux 安装
- log4net 用法