- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
本文档重点会介绍开发过程与线上遇到问题的解决方案。
日志分析
在出现问题的时候,首先通过问题细节,细化到具体哪个业务,在这个业务依托的服务中查看日志,对通讯日
志进行查看。
拿一次请求做范例:
这是ABS服务中接受到了25.244这台机子的一次请求,使用的metadata元数据消息
00:代表的是具体process消息处理器标号
0A:代表此次通信的token标识
01:是一次通信的identity唯一标识
10:的为业务对象字段(需要参照代码进行比较分析)
这是ABS服务中该服务发出的TCP请求,这个请求采用的是老版本的抢对据消息,连接方是18.6本机的
18000UAS服务,每一次TCP连接,自身服务会启动一个随机端口连接的目标端口服务
因为一次消息请求与相应对象的消息通信id是一致的,所以我们拿第一张截图的通信唯一标识进行查询,一
定能查到一个response消息与这个request消息对应,这样就能定位某一个请求的相应是否正确。从上面截
图可以看出这次请求是正常返回了。
同理不同服务之间的通信,只需要通过这个标识去查看不同服务的日志就行了,从中一定能到某个错误产
生异常或者timeout的地方。
Fiddler与wireshark抓包
Fiddler无需赘述了,这是非常简单的抓取HTTP请求的工具。
Wireshark是非常好用的通信抓包工具,可以抓取TCP,HTTP等格式协议的通信,因为涉及到具体
的抓取特别多,我这里也只做简单的介绍了。
通过这个选项,勾选本机业务所使用的网卡。点击Options进行相应的设置,进入如下界面。
双击被选中的网卡
在弹出的界面中设置想要抓取的过滤器。
我这里拿mysql数据库3306举例,想要抓取所有mysql数据库的TCP连接只要按如下设置即
可。
然后点击OK,开始通信包抓取。进入最终抓取界面如下:
Filter是设置的过滤条件,请自行学习。上面的截图是一个TCP滑动窗口变成0的通信抓程。
调试通信组件以及windows服务
一般在开发阶段,我都会对windows服务的每个方法分别进行调试,这时候用到的工具是
TestDriven,但是前提是当前类必须要有构造函数。这个工具可以对每个方法进行单独调试,特别
有效。
调试网络通信组件的时候,一般都是在本机直接F5启动某个服务的component的,使用NUNIT
写testcase通过模拟通信直接与本机这个服务端口进行通信。
在本机调试的基本差不多的时候,可以将署到本机上,通过VSattach当前服务进程进行调
试。
最终就是部署到服务机上了,这上面的问题只能通过看日志和windbg了。
Windbg不再赘述了,.net调试技巧那本书已经可以满足目前现有的业务调试了。
这里简单介绍一下:
首先查看进程是32位的还是64位的,根据这个使用不同版本的windbg,打开后attach当前想要
调试的进程
然后进入调试阶段
load.net调试组件SOS
.loadbysosclr
根据具体类名方法名查找方法表,方法描述符
!name2ee*!namespace.method
找到内存地址下方法断:
Bpmd–mdxxxxx
转储内存对象dumpobj转储方法表dumpmt
反汇编代码编程汇编指令!Ueip
查看栈帧调用关系(C++)KV/Kb/Kn(很多很多自行查询)
下行端(C++调试)bae1xxxxx(内存地址)
下异常断:sxeclr
查看托管栈:!clrstack非托管栈:!uniqstack
多线程调试!threads~列出所有线程~1s跳到线程1。。。。。。。。。。。。。
您可能关注的文档
- 回收乙酸仲丁酯制备装置中潜热方法及联合装置.pdf
- 互联网时代下创业机遇与挑战——管理者部落第七届企业家.pdf
- 爱普生RC+机器人改装及坐标系设置指南.pdf
- AER 715航空电子设计案例研究项目简介.pdf
- 英语绘本课:给猫系铃铛故事与词汇拓展.pdf
- 思维提升营心得:创新与感恩宣传实践.pdf
- 插装式先导操作液压溢流阀技术规格与应用指南.pdf
- 优化案例:提升某地区网络覆盖与速率.pdf
- 广东省东莞市2024-2025学年八年级上学期期中考试物理试题(解析版).pdf
- 广东省东莞市2024-2025学年八年级上学期期中地理试卷(解析版).pdf
- 广东省东莞市2024-2025学年八年级上学期生物期中试题(解析版).pdf
- 非遗剪纸文创产品开发经理岗位招聘考试试卷及答案.doc
- 广东省东莞市2024-2025学年高二上学期期末教学质量检查数学试题.pdf
- 体育安全理论课件图片素材.ppt
- 3.1 公民基本权利 课件-2025-2026学年道德与法治八年级下册 统编版 .pptx
- 广东省潮州市湘桥区城南实验中学等校2024-2025学年八年级上学期期中地理试题(解析版).pdf
- 大数据运维工程师岗位招聘考试试卷及答案.doc
- 广东省深圳市福田区八校2026届数学八年级第一学期期末教学质量检测模拟试题含解析.doc
- 广东省潮州市湘桥区城基初级中学2024-2025学年八年级上学期11月期中考试数学试题(解析版).pdf
- 广东省潮州市湘桥区城西中学2024-2025学年八年级上学期期中地理试题(解析版).pdf
原创力文档


文档评论(0)