积跬步
文章平均质量分 77
sunshixingh
这个作者很懒,什么都没留下…
展开
-
一次MySql事务执行回滚失败分析
前几天在添加一个上限控制功能时,发现在一次取资源超过限制之后,事务回滚,但该次操作造成的数据库更改并未回滚 按以下步骤进行分析: 1. 仔细检查代码逻辑,看是否由于事务回滚没有调用造成的脏数据 2. gdb单步调试程序,定位脏数据产生的时间点,回滚是否成功 3. 根据已有资料分析问题产生原因。经过以上步骤分析,在单步时已经确认是由于事务中调用了create table造成的隐式提交,从而回滚原创 2016-03-18 01:57:18 · 8252 阅读 · 1 评论 -
浮点数之殇
项目即将上线,在最后的bug排查阶段,按需求提出的要求,折扣字段将以浮点数表示出来,修改的过程中突然发现,项目内基本上所有的浮点数均是float类型,那么问题来了:float类型变量与0、100比较的方式是怎样的?float类型的变量之间的比较是怎样的?float类型的变量 a=987654321,b=987654322,则a==b,true or false?浮点类型的987654321+原创 2016-03-18 01:09:41 · 260 阅读 · 0 评论 -
epoll的两种触发方式
epoll的两种触发方式原创 2016-03-26 18:19:09 · 7366 阅读 · 5 评论 -
几个常见工具的使用
以下为补充前篇linux下c/c++程序调试拾遗,列上其它用过的工具tcpdump 关于tcpdump的使用已经有博客整理得比较清楚,直接放上链接存档,示例命令如下 tcpdump -i eth0 tcp port 23 and dst host 210.27.48.1valgrind 示例命令 valgrind ./server –leak-check=full –show-rea原创 2016-04-06 18:32:04 · 412 阅读 · 0 评论 -
linux下c/c++程序调试拾遗
linux下c/c++程序调试拾遗以下为整理c++程序调试过程中经常用到的工具链1. 调试利器GDBlinux下c++程序的调试,绕不过去的第一个就是gdb无疑了;1.1 启动gdbgdb <pragram>gdb <pragram> <core>geb <pragram> <pid>注意:程序编译时添加-g选项(有时候gdb调试core文件,bt不出来函数调用堆栈时,百思不得其解之际,请检查-原创 2016-03-23 17:57:29 · 489 阅读 · 0 评论 -
静态库与动态库链接、执行时的搜索路径顺序
静态库与动态库链接、执行时的搜索路径顺序静态库链接时搜索路径顺序ld会去找GCC命令行中的参数-L的目录中是否有该静态库;再去找GCC的环境变量LIBRARY_PATH再找内定目录/lib、/usr/lib、/usr/local/lib夏是否有该链接库,这是当初compile gcc的时候确定的动态库链接时、执行时搜索路径顺序编译目标代码时指定的动态库搜索路径;-Wl,-rpath=./原创 2016-08-11 18:13:56 · 1454 阅读 · 0 评论