就终于的结果来看,事实上就是一个小的错误。

但定位错误的时间比較漫长了。。

背景:出错的代码是 一段执行在 linux server上的程序,程序的主要功能是处理银行pos刷卡记录并做一些计算。最后汇总、格式化输出。

该公司是和银行打交道的。接的项目都是银行的。

来公司的第二天(第一天熟悉环境,啥也没干)老板就给了我一个2000多行的纯c程序,一个測试出错的測试文档 和 出错的输出结果。

因为历史的原因。。。。。

该段程序经过多人的补补修修,一个没有头文件。木有代码复用,2000多行的一个主文件。

。。

。。

加上我是刚来的不懂业务知识。连測试用例都看不懂,像是在看天书。

我试着用vs打开程序,我靠,无法在windows下执行,里面调用的非常多linux系统中的库函数。

。。

还好我会linux。我windows下装有cygwin。窃喜。。

。。

程序执行环境不是问题了,也能够正常执行。我就開始追踪bug吧。我也不知道哪里有错误啊,我不懂业务知识。也不知道正确结果是啥啊。

。。果断去问老板,哪里结果不多了。。。。

好了。知道哪里出错了。接下来就是定位它了。在vim下看代码。还是不错的,就当再熟悉熟悉vim了,发现代码里的变量名 还有函数名我都看不懂啊,发现做程序猿业务知识不能不懂啊。

硬着头皮啃吧,

找到了一些和错误信息相关的变量了,就開始gdb调试了。

。。

。。。。

。。

。。

。。

终于锁定了问题的出错地点:atol函数。

。。哈哈 。

该段程序就是处理 的数据 都是 从银行 获取的, 比方pos卡消费信息。。。里面都是大数,atol()函数仅仅支持8位啊,换成atoll()就好拉。。

。。

总结:

溢出不会程序不会报错,仅仅会导致结果不对,一定要注意溢出,接受这次的教训

[trouble shoot]atol和atoll的更多相关文章

  1. Linux下c++中的atoi、atol、atoll、atof函数调用实例

    本文中调用的四个函数如下: atoi函数:将字符串转化为int类型变量 atol函数:将字符串转化为long类型变量 atoll函数:将字符串转化为long long类型变量 atof函数:将字符串转 ...

  2. 在iOS中使用ZXing库[转]

    前言 ZXing(Github镜像地址)是一个开源的条码生成和扫描库(开源协议为Apache2.0).它不但支持众多的条码格式,而且有各种语言的实现版本,它支持的语言包括:Java, C++, C#, ...

  3. Command: sl (Steam Locomotive)

    You might be aware of command 'ls' the list command and use it frequently to view the contents of a ...

  4. hdu 1036 (I/O routines, fgets, sscanf, %02d, rounding, atoi, strtol) 分类: hdoj 2015-06-16 19:37 32人阅读 评论(0) 收藏

    thanks to http://stackoverflow.com/questions/2144459/using-scanf-to-accept-user-input and http://sta ...

  5. visualvm添加远程管理-centos

    VisualVM连接远程服务器有两种方式:JMX和jstatd,两种方式都不能完美支持所有功能,例如JMX不支持VisualGC,jstatd不支持CPU监控,实际使用可同时配置上并按需选用. 1.修 ...

  6. Common Linux log files name and usage--reference

    reference:http://www.coolcoder.in/2013/12/common-linux-log-files-name-and-usage.html if you spend lo ...

  7. 【转】Installing OpenCV on Debian Linux

    In this post I will describe the process of installing OpenCV(both versions 2.4.2 and 2.4.3) on Debi ...

  8. Dump Checking

    Dump Checking Debug相关的一些小技巧 摘要: 1. 如何Debug一个进程的子进程? 答: 使用WinDBG attach到父进程, 然后输入命令".childdbg 1& ...

  9. Windbg(2)

    摘抄于:http://www.cnblogs.com/awpatp/category/228209.html Debug相关的一些小技巧 摘要: 1. 如何Debug一个进程的子进程? 答: 使用Wi ...

随机推荐

  1. mssql 统计

    这篇文章主要为大家按日,星期,月,季度,年统计销售额的sql语句,需要的朋友可以参考下 --按日,统计本月数据 select sum(payable_amount) as 金额,day([paymen ...

  2. 牛客网-《剑指offer》-变态跳台阶

    C++ class Solution { public: int jumpFloorII(int n) { <<--n; } }; 推导: 关于本题,前提是n个台阶会有一次n阶的跳法.分析 ...

  3. python转换html到pdf文件

    1.安装wkhtmltopdf Windows平台直接在 http://wkhtmltopdf.org/downloads.html 下载稳定版的 wkhtmltopdf 进行安装,安装完成之后把该程 ...

  4. 2019微信公开课Pro微信之夜内容笔记总结

    2019微信公开课Pro 微信之夜内容笔记总结 小程序入口 我的小程序 任务栏入口 线下扫码 搜索小程序 附近小程序升级 用户留存问题 小程序成长 关注用户需求 性能监控   广告主&& ...

  5. GitHub如何下载clone指定的tag

    如上图,我想下载Tags标签为solution-4 的代码,如何处理呢? 命令如下: git clone --branch solution-4 git@github.com:zspo/learngi ...

  6. SpringMVC学习笔记八:文件上传下载(转)

    转自:http://www.cnblogs.com/WJ-163/p/6269409.html 一.关键步骤 ①引入核心JAR文件 SpringMVC实现文件上传,需要再添加两个jar包.一个是文件上 ...

  7. Struts2学习笔记一:工作流程与核心文件

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6807539.html  1:客户端发出请求到web服务器 2:请求经过一系列filter,最终到达Struts ...

  8. Changing the Language Used in ODI Studio

    odi.conf中加入区域和语言设置 修改 "$ODI_HOME\odi\studio\bin\odi.conf"    ( D:\Oracle\Middleware\Oracle ...

  9. Java ReEntrantLock 之 Condition条件(Java代码实战-002)

    import java.util.LinkedList; import java.util.concurrent.locks.Condition; import java.util.concurren ...

  10. 【DB2】SQL优化

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAA