摘要: 类UNIX下C/C++开发,代码调试比较麻烦,最原始的加跟踪调试很土,也很费时,特别是一个庞大的项目,代码行数非常大的时候调试起来非常费劲,当core dump时定位也不容易,这里介绍几个常用工具: gdb、dbx调试工具,valgrind内存检查工具(Linux) 。gdb(GNU DeBugger)是GNU的调试器,一般和gcc配搭使用。要使用GDB进行调试,编译程序时要指定-g或-ggdb的编译选项。如: gcc –g main.cgdb指令:f(file):指定可执行文件,l(list)列出源文件,r(run)运行可执行文件,可带执行参数,b(break)设置断点,c(continue 阅读全文
posted @ 2012-11-03 22:46 Mr.Shadow 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 使用GDB调试程序上回话说使用Makefile来组织源代码,这回简单地介绍下如何使用GDB来调试我们的程序;关于GDB的其它应用将在后续的章节中逐渐深入。首先需要肯定一点,GDB是个功能异常强大的调试工具,其本身只能运行于字符模式,但是当前众多基于GUI的调试器/IDE,无论是自由软件还是商业软件,绝大多数都使用GDB作为其后端(但这些基于GUI的调试器都不太稳定),因此GDB是个不二的选择(笔者推荐的GUI调试器:insight和ddd)。这里使用 hello_gdb.c 作为例子,如果你从前面一直看过来,对这个程序一定不会陌生,hello_gdb.c 主要在 hello_dubuntu2. 阅读全文
posted @ 2012-11-03 21:28 Mr.Shadow 阅读(385) 评论(0) 推荐(0) 编辑
摘要: LINUX内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。1.进程调度(sched):控制进程对cpu的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待cpu资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进程。linux使用了比较简单的基于优先级的进程调度算法选择新的进程。2.内存管理(mm)允许多个进程安全的共享主内存区域。linux 的内存管理支持虚拟内存,即在计算机中运行的程序,其代码,数据,堆栈的总量可以超过实际内存的大小,操作系统只是把当前使用的程序块保留在内存中,其余的程序块则保留在磁盘中。必要 阅读全文
posted @ 2012-11-03 19:35 Mr.Shadow 阅读(936) 评论(0) 推荐(0) 编辑
摘要: 1.http://www.adobe.com/downloads/updates/http://www.adobe.com/support/downloads/product.jsp?product=10&platform=Unix选择Uinx版本,在ADD-ONS选择语言包;2.下载该文件即可:Adobe Reader 9.1 Font Packs - Chinese Simplified24.5MB4/1/20093.解压该文件归档包:tar jxvf FontPack910_chs_i486-linux.tar.bz24.安装该语言插件包:进入语言插件包:cd CHSKIT/安装 阅读全文
posted @ 2012-11-03 19:25 Mr.Shadow 阅读(321) 评论(0) 推荐(0) 编辑