`
piperzero
  • 浏览: 3466031 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

IIS Web应用程序调试的基本问题和工具

 
阅读更多

应用程序调试,需要有个常规的调试思路,应对各类问题最基本的调试手段是什么,不能一头雾水的上手而乱了阵脚,而且根据经验统计这些基本的步骤可以解决大多数的问题。

问题分类

第一种,应用程序不工作了。

第二种,应用程序反应很慢。


对于这样简单的描述我们一般需要进一步了解更多信息,比如

    问题最直接的表现是什么?

    • 浏览器显示网页报错信息
    • Web Service调用报错信息

    是否可以重现?如何重现?

    围绕这个我们还可以问重现的频率如何,这是第一次发生么,在这之前是否有什么值得怀疑的改动?很多时候问题发生了并没有足够多的信息被记录下来。如果这个问题能够重复发生,我们就可以接下来拟定相应的数据收集和调试计划。如果能够知道如何重现,那么很多时候可以现场调试和抓取数据,可以搭建测试环境,甚至有的时候原因存在的层次可以通过如何重现问题推测出来,能够更加有效的解决问题。

    发生问题的系统环境是什么?

    • IIS 6
    • IIS 7
    • IIS 7.5
    • IIS 8

    了解问题发生的具体环境,不同的环境上面可以使用的工具不尽相同,不同的调试策略对应不同的环境。比如Failed request tracingIIS6上面就没办法使用,而只能选用ETW。负载均衡环境中如果只有单台服务器发生问题也可以对比下环境配置,很多时候区别之处隐含着问题发生的原因。

    如何缩小问题范围,确定问题发生层级

    • 是否是客户端问题
    • 是否是网络原因
    • 是否是服务器底层服务问题
      • Tcp/ip
      • Http/Https
    • 是否是IIS问题
    • 是否是应用程序本身问题
    • 是否是应用程序所依赖的后台服务问题

    调试工具

    日志

    1. Http error log-主要用来查看http级别上面记录的出错日志
    2. IIS log-主要用来查看IIS上面发生的请求相关信息
    3. Event log-查看程序异常信息以及系统日志

    客户端工具

    1. IE-客户端调试
    2. Fiddler-追踪客户端http请求-Free
    3. Httpwatch-追踪客户端http请求-Licensed
    4. Wfetch-取代IE测试发送单独的http请求,可以自定义要发送的http头。
    5. Network Monitor-追踪本机全部网络通讯
    6. Wireshark-追踪本机全部网络通讯

    服务端工具

    1. Etw-系统级事件追踪,可以订阅不同的windows组件内建日志
    2. Freb-IIS7及以上引入,基于Etw,追踪服务器端整个http请求的生命周期
    3. Adplus-可以定义规则,抓hang/crash/breakpoint dump
    4. DebugDiag-可以定义规则,抓各种dump,集成dump分析功能
    5. ProcDump-主要抓程序high cpu dump
    6. Performance Counter-系统性能计数器
    7. Process Monitor-可以记录程序访问文件/注册表/网络请求信息及相关调用栈信息
    8. Poolmon-监测系统paged/non-paged pool内存泄露
    9. SQL Profiler-追踪SQL语句执行过程
    10. SSLDiag-检测服务器端SSL配置
    11. DelegConfig-检测服务器Kerberos配置
    12. Certutil-检测证书各种属性
    13. Fushion Log-记录clr加载dll日志
    14. CLR Profiler-追踪托管堆内存对象

    离线调试工具

    1. Windbg-分析dump,动态调试
      1. Psscor-SOS更强大的托管程序调试扩展
      2. SOS- .NETFramework自带的托管代码调试扩展
      3. IISinfo-IIS调试扩展
    2. Log Parser-解析Event Log, IIS log, HTTPlog等各种日志
    3. Excel-Excel
    4. ILSpy-根据Assembly查看托管代码 - Free
    5. Reflector-根据Assembly查看托管代码 - Licensed

    参考文档

    Http API ErrorLogging

    http://support.microsoft.com/kb/820729

    HTTP Status Code inIIS 7 & 7.5

    http://support.microsoft.com/kb/943891

    Wikipedia internetprotocol suite

    http://en.wikipedia.org/wiki/Internet_protocol_suite

    Http protocol

    http://www.w3.org/Protocols/

    FTP protocol

    http://tools.ietf.org/html/rfc959

    SSL v3.0

    http://tools.ietf.org/html/rfc6101

    TLS v1.0

    http://tools.ietf.org/html/rfc2246

    W3C Tutorial - HtmlXml CSS

    http://www.w3schools.com/w3c/default.asp

    Windows development

    http://msdn.microsoft.com/en-us/library/ee663300(v=vs.85)

    Classic ASP

    http://msdn.microsoft.com/en-us/library/aa286483.aspx

    IIS.NET

    http://www.iis.net/

    ASP.NET

    http://www.asp.net/

    ASP.NET FAQs
    http://msdn.microsoft.com/en-us/library/bb981440.aspx
    Improving Web Application Security: Threats and Countermeasures
    http://msdn.microsoft.com/en-us/library/aa302335.aspx
    Security How Tos Index
    http://msdn.microsoft.com/en-us/library/ms978512.aspx
    Troubleshooting Performance Problems in SQL Server 2005
    http://technet.microsoft.com/library/Cc966540
    Performance Testing Guidance
    http://perftesting.codeplex.com/wikipage?title=How%20Tos&referringTitle=Home&ProjectName=perftesting
    Exceptional Performance
    http://developer.yahoo.com/performance/
    Improving .NET Application Performance and Scalability
    http://msdn.microsoft.com/en-us/library/ms998530.aspx
    Performance Testing Guidance for Web Applications
    http://msdn.microsoft.com/en-us/library/bb924375.aspx
    Fiddler PowerToy - Part 1: HTTP Debugging
    http://msdn.microsoft.com/en-us/library/bb250446(v=vs.85).aspx
    Fiddler PowerToy - Part 2: HTTP Performance
    http://msdn.microsoft.com/en-us/library/bb250442.aspx

    分享到:
    评论

    相关推荐

      IIS6.0 IIS,互联网信息服务

      Internet Information Services(IIS,互联网信息服务),是由微软公司提供的基于运行Microsoft Windows的互联网基本服务。最初是Windows NT版本的可选包,随后内置在Windows 2000、Windows XP Professional和...

      Delphi_BCB_uniGUI_1.90.0.1508.rar

      uniGUIWeb 应用程序可以直接在 RAD 工作室 IDE 中运行和调试, 这使得开发过程变得非常简单和简单。 UniGUI将 Web 应用程序开发体验扩展到一个新的维度。 在这个新的维度中, 生产率是首要目标。 uniGUI允许开发人员...

      ASP实例自学手册:通过322个例子掌握Web开发捷径(配套光盘源码)

      例0111 Microsoft脚本调试工具 例0112 Microsoft脚本编辑器 第2章 控制网页常见元素 2.1 文本框的应用 2.2 单选按钮组的应用 2.3 下拉列表的应用 2.4 动态表单应用 2.5 网页控制 2.6 控制弹出 2.7 控制网页广告 ...

      ASP.NET4高级程序设计(第4版) 3/3

      8.2.1 Web应用程序和DataSet 250 8.2.2 XML集成 251 8.3 DataSet类 251 8.4 DataAdapter类 252 8.4.1 填充DataSet 253 8.4.2 使用多个表和关系 254 8.4.3 查找特定行 257 8.4.4 在数据访问类里使用...

      中美 IT 培训 C# Asp.net 笔记2

      学习HTML、XML、JavaScript、水晶报表(Crystal Report)和IIS 基础以及WEB应用程序性能优化;学习Ajax、Web2.0的相关技术。 熟练开发基于数据库的Web应用程序、Windows应用程序。熟练开发Windows Service 和 Web ...

      中美 IT 培训 C# Asp.net 全套笔记1

      学习HTML、XML、JavaScript、水晶报表(Crystal Report)和IIS 基础以及WEB应用程序性能优化;学习Ajax、Web2.0的相关技术。 熟练开发基于数据库的Web应用程序、Windows应用程序。熟练开发Windows Service 和 Web ...

      中美 IT 培训 C# Asp.net 笔记3

      学习HTML、XML、JavaScript、水晶报表(Crystal Report)和IIS 基础以及WEB应用程序性能优化;学习Ajax、Web2.0的相关技术。 熟练开发基于数据库的Web应用程序、Windows应用程序。熟练开发Windows Service 和 Web ...

      值类型与引用类型理论内容.part01.rar

      学习HTML、XML、JavaScript、水晶报表(Crystal Report)和IIS 基础以及WEB应用程序性能优化;学习Ajax、Web2.0的相关技术。 熟练开发基于数据库的Web应用程序、Windows应用程序。熟练开发Windows Service 和 Web ...

      ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

      8.2.1 Web应用程序和DataSet 8.2.2 XML集成 8.3 DataSet类 8.4 DataAdapter类 8.4.1 填充DataSet 8.4.2 使用多个表和关系 8.4.3 查找特定行 8.4.4 在数据访问类里使用DataSet 8.4.5 数据绑定 8.5...

      值类型与引用类型理论内容.part05.rar

      学习HTML、XML、JavaScript、水晶报表(Crystal Report)和IIS 基础以及WEB应用程序性能优化;学习Ajax、Web2.0的相关技术。 熟练开发基于数据库的Web应用程序、Windows应用程序。熟练开发Windows Service 和 Web ...

      Visual.Basic.2010.&.NET4.高级编程(第6版)-文字版.pdf

      13.1.3 合并网络和应用程序开发 510 13.1.4 web服务基础 511 13.1.5 存在的问题 512 13.1.6 其他技术 512 13.1.7 web服务 513 13.1.8 组合起来 514 13.1.9 wcf服务的构成 514 13.2 向soa迈出一大步 ...

      Php本地测试工具

      1、全面适合 Win2000/XP/2003 操作系统,IIS和Apache二选一安装。 2、该程序包集成以下软件,均为最新版本。 PHP 5.2.13 新型的CGI程序编写语言,易学易用、速度快、跨平台。 Apache 2.2.15 最流行的HTTP服务器...

      2.ASP.NET.2.0.高级编程(第4版) [1/7]

      ASP.NET 2.0的发布,使Web应用程序的开发又前进了一大步。这个新版本增加了大量的新功能,减少了编写常见应用程序所需的代码量。 ASP.NET 2.0新增了50多个新服务器控件,类的数量也翻了一倍,其他许多方面也有很...

      ASP.NET2.0高级编程(第4版)1/6

      29.3 部署Web应用程序的方法1038 29.3.1 使用XCopy1039 29.3.2 使用VS Copy  Web Site选项1041 29.3.3 部署预编译的  Web应用程序1044 29.3.4 建立安装程序1046 29.4 安装程序的选项1053 29.4.1 使用部署项目的...

      ASP3《高级编程》(第一部分)

      3.2 Web应用程序的定义 73 3.2.1 ASP应用程序的定义 73 3.2.2 ASP会话的定义 81 3.3 ASP的Application对象和Session对象 83 3.3.1 ASP的Application对象成员概述 84 3.3.2 ASP的Session对象成员概述 85 3.3.3 ...

      asp.net知识库

      ASP.NET 2.0构建动态导航的Web应用程序(TreeView和Menu ) 体验.net2.0的优雅(3) -- 为您的 SiteMap 添加 控制转发功能 GridView控件使用经验 ASP.NET 2.0:弃用 DataGrid 吧,有新的网格控件了! ASP.NET2.0控件...

      ASP3《高级编程》(第二部分)

      3.2 Web应用程序的定义 73 3.2.1 ASP应用程序的定义 73 3.2.2 ASP会话的定义 81 3.3 ASP的Application对象和Session对象 83 3.3.1 ASP的Application对象成员概述 84 3.3.2 ASP的Session对象成员概述 85 3.3.3 ...

      强大的扫描工具x-scan

      若已经安装的WinPCap驱动程序版本不正确,请通过主窗口菜单的“工具”->“Install WinPCap”重 新安装“WinPCap 3.1 beta4”或另行安装更高版本。 五. 图形界面设置项说明: “检测范围”模块: “指定IP范围...

      一键配置php调试环境:phpstudy2010

      1、全面适合 Win2000/XP/2003 操作系统,IIS和Apache二选一安装。 2、该程序包集成以下软件,均为最新版本。 PHP 5.2.13 新型的CGI程序编写语言,易学易用、速度快、跨平台。 Apache 2.2.15 最流行的HTTP服务器...

    Global site tag (gtag.js) - Google Analytics