打破惯性思维:聊聊一次debug
2016-03-31 10:55
204 查看
最近公司的新需求中要增加活动营销,整个组的人都被安排去研究某成熟产品的实现。我也认真地在看webService部分的实现,发现了一个诡异的10614端口的请求。
代码如下图:
这是一段服务端发请求验证登录的代码,看上去是请求本地10614端口的一个web接口。于是我开始去nginx的配置查找这个host的信息,最终也没找到。内心的想法是:什么鬼啊?
我身旁的同事也找了很久,都觉得莫名其妙的一个请求,竟然不知道接收方所在位置。
由于服务器是windows的,长期混迹于centos,ubuntu等linux server的我也感到有点生疏感。按照惯性思维都是先去查nginx或apache配置,但冷静想想应该从端口号为起点去查出对应的应用。
假设回到我们熟悉的linux环境,同样的问题转变为:
已知某端口号,求该进程是什么。
命令如下:
ps aux | grep 10614
直接就可以查到进程执行的命令。
难道大名鼎鼎(恶名昭著)的windows没有办法根据端口号查进程的吗?
bing了一下,解决方法如下:
先查出pid,然后根据pid到tasklist中查到对应进程。可见并不是一个website请求,而是去调用一个打包的exe文件做处理。
从这次debug中,我感觉人的惯性思维很强,总是脑补一些细节和证据,往往走偏路线。要理性分析,从本质上出发,实际上就是找进程罢了。同样的事情发生在各种测试中,工程师最爱说的就是:为什么本地可以啊,放到服务器上就不行了?扪心自问:自己的环境真的和服务器高度一致吗?对比过配置文件的diff?
打破惯性思维,少一点脑补。
代码如下图:
这是一段服务端发请求验证登录的代码,看上去是请求本地10614端口的一个web接口。于是我开始去nginx的配置查找这个host的信息,最终也没找到。内心的想法是:什么鬼啊?
我身旁的同事也找了很久,都觉得莫名其妙的一个请求,竟然不知道接收方所在位置。
由于服务器是windows的,长期混迹于centos,ubuntu等linux server的我也感到有点生疏感。按照惯性思维都是先去查nginx或apache配置,但冷静想想应该从端口号为起点去查出对应的应用。
假设回到我们熟悉的linux环境,同样的问题转变为:
已知某端口号,求该进程是什么。
命令如下:
ps aux | grep 10614
直接就可以查到进程执行的命令。
难道大名鼎鼎(恶名昭著)的windows没有办法根据端口号查进程的吗?
bing了一下,解决方法如下:
先查出pid,然后根据pid到tasklist中查到对应进程。可见并不是一个website请求,而是去调用一个打包的exe文件做处理。
从这次debug中,我感觉人的惯性思维很强,总是脑补一些细节和证据,往往走偏路线。要理性分析,从本质上出发,实际上就是找进程罢了。同样的事情发生在各种测试中,工程师最爱说的就是:为什么本地可以啊,放到服务器上就不行了?扪心自问:自己的环境真的和服务器高度一致吗?对比过配置文件的diff?
打破惯性思维,少一点脑补。
相关文章推荐
- iOS字符截取(表情汉字)
- HDU 1087 Super Jumping! Jumping! Jumping!
- PMAC上位机编程
- JSP程序设计:Servlet配置问题
- IO完成端口
- 通过代码创建label 计算最佳尺寸 让其自适应文本高度或宽度
- scala Calendar中获取月份遇到“坑”
- 常见的响应式布局方式
- 可用的 SublimeText3 注册码
- 自定义弹出提示框
- js(头像,图片)上传,如何立即展示?图片详解。
- 关于分布式事务、两阶段提交协议、三阶段提交协议
- 微软 Build 2016年开发者大会发布多项功能升级
- 电梯调度算法的改进
- flume实现kafka到hdfs实时数据采集 - 有负载均衡策略
- CentOS(Rehat)下查看系统、cpu信息指令
- 数据库并发访问、事务与锁的关系
- caffe+windows+matlab
- odoo8.0下selection_add的使用
- java23中设计模式——结构模式——Composite(组合) 3ff8