广告运营交接问题解决:开发过程与线上问题方案.pdfVIP

广告运营交接问题解决:开发过程与线上问题方案.pdf

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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。。。。。。。。。。。。。

您可能关注的文档

文档评论(0)

huang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档