调试技巧
atoday20090810
这个作者很懒,什么都没留下…
展开
-
当程序崩溃的时候怎么办 part-1
http://article.ityran.com/archives/1006 本文由 大侠自来也 翻译(泰然翻译组),转载请注明出处并通知泰然。 有这样一种情形:当我们正在快乐的致力于我们的app时,并且什么看都是无比顺利,但是突然,坑爹啊,它崩溃了。(悲伤地音乐响起) 我们需要做的第一件事就是:不要惊慌。 修复崩溃不是很困难的转载 2012-09-26 17:01:04 · 734 阅读 · 0 评论 -
重载new, 查内存泄露
http://www.cnblogs.com/juncheng/archive/2009/11/12/1602165.html 为什么要重载new? 作者 ariesram 电子邮件地址 ariesram@linuxaid.com.cn, 或 ariesram@may10.ca 本文及本人所有文章均收集在bambi.may10.ca/~ariesram/articles/中。 本文授权给转载 2013-02-19 17:27:58 · 314 阅读 · 0 评论 -
关于MAP文件的使用(转贴)
http://www.cnblogs.com/gaotaozhaolei/archive/2008/02/02/1062155.html 在看《深入理解计算机系统》的时候总会看到MAP文件,一直不懂,今天看到一片相关的文章,收录下来,大家一起看看吧。毕竟有些时候我们的IDE提示的信息不够明白,使用MAP文件是一个调试的好帮手。 仅通过崩溃地址找出源代码的出错行 作为程序员,我转载 2012-09-27 10:28:00 · 421 阅读 · 0 评论 -
MAP文件快速定位崩 溃行
http://lzmfeng.itpub.net/post/15253/70530 这种方法到现在为止还没有试过呢,要研究研究啊 使用MAP文件快速定位程序崩溃代码行 (转载) 作为程序员,平时最担心见到的事情就是程序发生了崩溃,无论是指针越界还是非法操作,都将给我们的应用系统造成巨大的损失。但在一个大型系统的测试过程中,初期出现程序崩溃似乎成了不可避免的事。其实测试转载 2012-09-27 10:23:22 · 934 阅读 · 0 评论 -
gdb中查看数据
程序暂停就是为了观察有关执行情况。有多个命令可以实现这些要求,分别用于观察某个方面的数据。 (1)查看通用寄存器、标志寄存器和段寄存器的命令是“info registers”(或简单地输入“info r”)。info命令的功能很多,可以通过help info命令学习。 (2)查看指定寄存器或变量值,通常使用print命令,格式是: print/f expr 其中,f用于原创 2012-09-26 18:16:19 · 359 阅读 · 0 评论 -
一次痛苦的Coredump定位过程
http://blog.sina.com.cn/s/blog_4d6f62190100qlkw.html 大约从5月份开始,一台Server开始出现重启Worker Coredump的问题,期间负责该Server的两位同事先后就该问题进行了定位排查,由于该问题测试开发环境不可重现以及Coredump的堆栈信息基本乱掉,无有用线索可用,因此问题一直未得到解决。最近的一个月,发现转载 2012-09-26 18:05:03 · 371 阅读 · 0 评论 -
利用__FILE__, __LINE__, __FUNCTION__跟踪调试程序
http://blog.csdn.net/piratest/article/details/4925973 作为一个Linux系统下的C程序员,你可能发现调试程序是个比较麻烦的工作,虽然已经有gdb,kgdb等专业的调试软件,但如果对这些软件运用 不熟练是根本达不到调试程序找出bug的目的的。又或者你对gdb已经很熟了,但运行gdb开始调试后在哪里设置断点成了你头痛的问题?当然,你可以从转载 2012-09-26 17:57:30 · 257 阅读 · 0 评论 -
strace linux 下程序的系统调用和信号调用跟踪工具
http://www.cnblogs.com/qingquan/archive/2011/07/18/2110072.html strace 简介 strace 命令是一种强大的工具, 能够显示任何由用户空间程式发出的系统调用. strace 显示这些调用的参数并返回符号形式的值. strace 从内核接收信息, 而且无需以任何特别的方式来构建内核. strace 的每一行输出包括转载 2012-09-26 16:18:32 · 227 阅读 · 0 评论 -
使用map文件调试的问题
http://bbs.chinaunix.net/thread-3617303-1-1.html 发表于 2011-11-10 14:36:58 |只看该作者 |倒序浏览 我使用:"gcc -o helloworld helloworld.c -Wl,-Map,helloworld.map" 命令生成了我的程序的map文件,但是这个文件信息很乱,找了半天也没有找到哪里有相关的资料可以转载 2012-09-26 16:31:43 · 393 阅读 · 0 评论 -
C语言预定义宏__LINE__ __FILE__ __DATE__ __TIME__ __STDC__ __cplusplus
ANSIC标准定义了以下6种可供C语言使用的预定义宏: __LINE__ 在源代码中插入当前源代码行号 __FILE__ 在源代码中插入当前源代码文件名 __DATE__ 在源代码中插入当前编译日期〔注意和当前系统日期区别开来〕 __TIME__ 在源代码中插入当前编译时间〔注意和当前系统时间区别开来〕 __STDC__ 当要求程序严格遵循ANSIC标准时该标识符被赋值为1。 __c原创 2012-09-26 18:08:56 · 893 阅读 · 0 评论 -
仅通过崩溃地址找出源代码的出错行
http://www.luocong.com/articles/show_article.asp?Article_ID=29 仅通过崩溃地址找出源代码的出错行 作为程序员,我们平时最担心见到的事情是什么?是内存泄漏?是界面不好看?……错啦!我相信我的看法是不会有人反对的——那就是,程序发生了崩溃! “该程序执行了非法操作,即将关闭。请与你的软件供应商联系。”,转载 2012-09-26 16:54:07 · 879 阅读 · 0 评论 -
GDB调试精粹及使用实例
http://fanqiang.chinaunix.net/program/other/2006-07-14/4834.shtml 一:列文件清单 1. List (gdb) list line1,line2 二:执行程序 要想运行准备调试的程序,可使用run命令,在它后面可以跟随发给该程序的任何参数,包括标准输入和标准输出说明符()和外壳通配符(*、?、[、])在内转载 2012-09-27 10:03:23 · 212 阅读 · 0 评论 -
wireshark中文用户手册
http://man.lupaworld.com/content/network/wireshark/Introduction.html#whatis转载 2013-05-29 18:14:42 · 417 阅读 · 0 评论