- 博客(13)
- 资源 (19)
- 收藏
- 关注
原创 变量没有初始化, 很不方便定位
最近, 某同学遇到某非常低概率的问题, 但无法得知当时变量的情况, 准备加log进行重现与定位, Oh, 天啊, 要是那个变量被初始化就好了, 就会省掉很多工作量了。 可惜了!
2016-08-14 00:03:52 7423
原创 秒杀stl sort coredump问题
最近, 一位同学在开发中遇到了core dump问题, 当时没有看出来, 后来请某哥帮看, 我在旁边听他们的分析与讨论, 无意中听到了“排序”这个字眼, 于是就有点敏感了, 凑过去一看, 果然是stl sort coredump问题。 于是, 让那位同学改一下, 果然就没有coredump问题了, 哈哈! 详细信息请参考我博文之前介绍过的stl sort cor
2016-08-13 23:59:38 7788 1
原创 so又被strip掉, core文件又没法分析出代码行号
最近, 相册同学搞出来一个低概率的core, 发到外网后, 不断有core, 于是打算回滚版本, 但core问题还是要定位啊。 抓到了core, 保存起来, 用gdb去分析的时候发现, 呵呵哒, 居然没有行号, 用file命令查了一下so, 果然是被strip掉了, 于是, 我索性把makefile中的strip去掉, 大就大一点, 笨重就笨重一遍, 反正能方便咱们去定位问题
2016-08-13 23:46:24 9774
转载 pgc与ugc
转载地址:https://bbs.aliyun.com/read/163007.html?spm=5176.7189909.0.0.tCXMxU经常在一些干货上看到PGC和UGC的单词,那么分别是什么意思呢?网上这方面的解释不多,我谈谈自己的理解。 这两个词一般涉及到运营的范畴,虽然是一个很简单的理念,做网站,要有内容,而这些内容怎么来? PGC
2016-08-13 23:35:59 11252
转载 std::sort引发的core (这个分析还是很不错的!!!)
转载地址:http://blog.chinaunix.net/uid-23146151-id-3066266.html 这两天定位了一个由std::sort引发的core。写了下面的程序来复现此问题。#includestdio.h>#includevector>#includealgorithm>#include
2016-08-13 23:24:14 11187 3
转载 svn中的revert和update
转载地址:http://blog.csdn.net/njuitjf/article/details/7546189 svn中的revert和update今天有人问到revert和update的问题。刚开始还真被问住了。因为感觉revert和update都可以将本地的copy更新到以前的一个版本,会有什么不同呢?查了些资料,并做了个试
2016-08-07 22:50:51 11245 1
原创 STL empty函数的误用
最近排查一个问题, 逻辑刚好相反, 查出是一个empty函数的误用, 来看看代码:#include #include using namespace std;int main(){ string s = "abc"; if(s.empty) { cout << "yes" << endl; } else { cout << "no" << endl; }
2016-08-07 22:39:02 8228 6
原创 结论不重要, 思路才重要------从linux中svn diff失效来谈谈.svn/text-base目录下的.svn-base文件
先说说事情的来龙去脉吧! 由于需要, 我们要批量改动某目录下的打印log的接口, 简单来说, 要把某目录下的所有文件中的api_log_A改为api_log_B . 某同学有过做类似事情的经验, 并且成功了, 于是直接把命令给我, happy啊。 于是乎, 我执行了一下这个命令, 实现了批量替换, 我确认, 确实替换成功了, 但是, 准备提交前, 我用svn d
2016-08-06 20:55:52 10436 3
原创 你的linux机器上 grep xxx -rl ./ 会递归吗?
最近遇到一个奇葩的问题, 在别的linux上OK, 但是, 在我的linux上就出了问题(具体问题, 我们会在后面的文章说到), 最终定位到, 是如下linux命令再两台机器上有不同的表现: grep xxx -rl ./ 在别人的linux机器上, r没有递归, 但在我的机器上, r就递归了。 Oh, my god. 这种问题太奇葩了,
2016-08-06 20:14:10 12220 1
原创 C++ string的一个误用
最近某同学开发了一个活动需求, 发布后, 我立即体验了一下, 发现有个值与预期不符, 我定位了一下, 发现是一个string的误用造成的, 错误用法为: string s; stringstream ss; ... s 居然就通过编译了! 最后发现, 应该用s =ss.str(); 那为什么之前没有发现问
2016-08-06 20:01:36 7485 4
原创 开发应该做好自测
开发做好基本自测和体验, 这是必须的, 不要完全依赖于测试同学。 有的问题, 从测试的角度根本不太好测, 但到了用户手上, 就呵呵哒了。 万一测试测试问题, 那还是得开发来改, 自己要返工, 整体流程又非常费时, 浪费人力。 以互联网开发为例, 任何一个小小的bug或者低概率的core, 在成千上万甚至上亿的用户请求下, 迟早会暴露的。 正如某个所说, 遇到任何与预
2016-08-06 19:51:49 8147 1
原创 到底该不该用strip脱衣服
之前做嵌入式开发, so库都是被strip脱掉了衣服, 原因很简单: 最小化占地空间。 现在做后台开发, 发现有时候so库被strip脱了衣服, 有时候又没有? 到底该不该被strip脱掉衣服呢? 这个问题见仁见智。 为了方便定位问题(比如定位 core dump问题), 我建议, 尽量不要strip, 除非存储紧张。 在后台开发中, 我非常
2016-08-02 23:46:24 8162 1
原创 再谈文件中的不可见字符
之前被文件中的不可见字符坑过n多次, 最近又被坑了一次。 我在配置文件service.yaml文件中增加了某些行,并重启服务, 但没有实现对应的功能, 纳闷良久。 于是,请教了之前有经验的同事。原来: 本该用空格, 我却用了tab, 于是就呵呵哒了。 改为空格后, 再重启服务, 就实现了预定的效果。 经验、教训。
2016-08-02 23:34:17 7738
linux protobuf安装文件
2016-11-04
linux tree命令的源码
2015-11-01
编译好的openssl库和头文件
2014-12-14
入门数据库sqlite3的最佳实践资料
2014-08-12
在Windows下学习Linux命令
2013-08-08
音频处理软件Gold Wave
2013-07-17
H.264visa软件
2013-07-13
YUVviewer :原始的YUV视频的播放器
2013-06-24
经典的C语言编译器:TC2.0
2013-06-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人