文章分类 -  linux编程

摘要:1 简介GDB(GNU Debugger)是GCC的调试工具。其功能强大,现描述如下:GDB主要帮忙你完成下面四个方面的功能:1.启动你的程序,可以按照你的自定义的要求随心所欲的运行程序。2.可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)3.当程序被停住时,可以检查此时你的程... 阅读全文
posted @ 2015-04-01 09:16 jasononline 阅读(162) 评论(0) 推荐(0)
摘要:在使用GDB调试程序的时候,经常需要暂停程序,以查看程序执行情况和上下文。GDB 提供了多种暂停程序的方式,包括 break point, watch point, catch point, signals 和 thread stop. 在此这些概念直接饮用,不作翻译。1.设置暂停点# set br... 阅读全文
posted @ 2015-04-01 08:34 jasononline 阅读(492) 评论(0) 推荐(0)
摘要:在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。1.core文件的生成开关和大小限制1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能... 阅读全文
posted @ 2015-03-18 14:44 jasononline 阅读(164) 评论(0) 推荐(0)
摘要:gdb程序断点设置我们可以在程序的某一行设置断点,比如:(gdb)break16,将在test.c的第16行设置断点。你可以查看自己设置的断点:(gdb)infobreak,断点(breakpoint)是程序执行中的一个位置。在gdb中,当程序运行到该位置时,程序会暂停,我们可以查看此时的程序状况,... 阅读全文
posted @ 2015-03-12 09:01 jasononline 阅读(2470) 评论(0) 推荐(0)
摘要:水平触发(level-triggered,也被称为条件触发)LT:只要满足条件,就触发一个事件(只要有数据没有被获取,内核就不断通知你)边缘触发(edge-triggered)ET:每当状态变化时,触发一个事件 “举个读socket的例子,假定经过长时间的沉默后,现在来了100个字节,这时无论边缘触... 阅读全文
posted @ 2015-03-05 23:23 jasononline 阅读(446) 评论(0) 推荐(0)