前言
最近跟着国外大佬的视频,从头到尾编译了一遍 server2003
。特地把整个过程录制了下来,记录了把 server2003
源码打包成镜像的完整过程,主要分为:环境搭建,编译,验证三个部分。
本文及视频仅用于技术交流,请勿用于非法用途。如有侵权,请联系我删除。
今天的文章比较短,基本上全在视频里了。
这是一份有意思的 “内存泄漏” 视频。加上引号是因为虽然可以称作内存泄漏,但是又算不上真正意义上的内存泄漏。因为虽然短时间内内存暴增,但终归还是能释放掉的。
其实,这个 “内存泄漏” 背后隐藏着一个序列化/反序列化的 bug
。很早之前就碰到了这个问题,只不过当时并没有录下来。当时的情况比现在更加明显——内存很快的从 1 GB
增长到 5 GB
左右,然后再释放掉,再增长,再释放,如此往复。不像这次,增长到 4 GB
多的时候,会有一个比较长的停留,然后才释放。
这个问题的根本原因是序列化与反序列化不匹配导致的。在特定环境下定位并解决这种问题是相对容易的,因为问题范围很小,而且对相关源码比较熟悉。具体排除过程没什么好说的。
其实,定位这种问题可以像我在视频里那样用 process explorer
的线程查看功能,粗略查看一下原因。运气好的话,基本可以很快定位。
话不多说,欣赏视频吧!注意视频中红色箭头和红色方框高亮的部分。
之前在 《5 个非常实用的 vs 调试技巧》 和 《继续分享 5 个实用的 vs 调试技巧》中分享了 10
个我认为非常值得了解的 vs
调试技巧,本周继续分享 5
个很实用的调试技巧。