- 博客(11)
- 资源 (61)
- 收藏
- 关注
转载 linux下gdb单步调试(上)
<br />用 GDB 调试程序<br /><br />GDB 概述<br />————<br /><br />GDB 是 GNU 开源组织发布的一个强大的 UNIX 下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像 VC 、 BCB 等 IDE 的调试,但如果你是在 UNIX 平台下做软件,你会发现 GDB 这个调试工具有比 VC 、 BCB 的图形化调试器更强大的功能。所谓 “ 寸有所长,尺有所短 ” 就是这个道理。<br /><br />一般来说, GDB 主要帮忙你完成下面四个方面的功能:
2010-12-30 09:04:00 594
转载 linux下gdb单步调试(下)
四、源代码的内存<br /><br />你可以使用 info line 命令来查看源代码在内存中的地址。 info line 后面可以跟 “ 行号 ” , “ 函数名 ” , “ 文件名 : 行号 ” , “ 文件名 : 函数名 ” ,这个命令会打印出所指定的源码在运行时的内存地址,如:<br /><br />(gdb) info line tst.c:func<br />Line 5 of "tst.c" starts at address 0x8048456 <func+6> and ends at 0
2010-12-30 09:02:00 466
转载 linux下gdb单步调试(中)
一、设置断点( BreakPoint )我们用 break 命令来设置断点。正面有几点设置断点的方法:break 在进入指定函数时停住。 C++ 中可以使用 class::function 或 function(type,type) 格式来指定函数名。break 在指定行号停住。break +offsetbreak -offset在当前行号的前面或后面的 offset 行停住。 offiset 为自然数。break filename:linenum在源文件 filename 的 linenum 行处停住。b
2010-12-30 09:01:00 1262
原创 Lesson2--进程通讯
<br />linux进程间通信方式包括:<br />1.管道(pipe)和有名管道(FIFO)<br />2.信号(signal)<br />3.消息队列<br />4.共享内存<br />5.信号量<br />6.套接字(socket)<br /><br />管道通信<br /> 单向的、先进先出<br /> 一个进程(写进程)在管道的尾部写入数据,另一个进程(读进程)从管道头部读出数据<br /> 无名管道只能用于父子进程间通信,有名管道用于同一系统中的任意2个进程间的通信<br />无名管道由pip
2010-12-27 23:45:00 523
原创 fork-wait
<br />#include <sys/types.h>#include <sys/wait.h>#include <unistd.h>#include <stdlib.h>void main(){ pid_t pc,pr; pc = fork(); if(pc == 0) { printf("This is child process with pid of %d/n",getpid()); sleep(10); } else if(pc > 0
2010-12-27 20:23:00 529
转载 本机大端/小端模式测试及解释
<br /><br />测试程序代码:<br />#include <stdio.h><br />void checkCPUendian();<br />int main()<br />{<br /> checkCPUendian();<br /> return 0;<br />}<br />void checkCPUendian()<br />{<br /> union{<br /> unsigned int i;<br />
2010-12-13 20:57:00 656
转载 linux-Vi使用方法(备查)
<br /> vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。 1、vi的基本概念 <br /> 基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模
2010-12-11 11:08:00 459
转载 用GDB调试Segmentation Fault错误
调试Linux程序的时候,出现Segmentation Fault是最郁闷的事情了,程序代码量很大的时候,可能花很多时间都找不到出错原因。 这里介绍一种对你调试Segmentation Fault很有帮助的方法,可能能迅速帮助你找到出错的代码行。 这种方法需要用到Linux提供的core dump机制:当程序中出现内存操作错误时,会发生崩溃并产生核心文件(core文件)。使用GDB可以对产生的核心文件进行分析,找出程序是在什么时候崩溃的和在崩溃之前程序都做了些什么。 首先,你的Segmentation Fa
2010-12-08 17:22:00 802
转载 Linux下如何用GCC编译动态库
<br />1 为什么要使用库?<br />2 库的分类<br />3 创建自己的库<br />或许大家对自己初学 Linux时的情形仍记忆尤新吧。如果没有一个能较好的解决依赖关系的包管理器,在Linux下安装软件将是一件及其痛苦的工作。你装a包时,可能会提示你要先装b包,当你费尽心力找到b包时,可能又会提示你要先安装c包。我就曾被这样的事搞的焦头烂额,至今一提起rpm仍心有余悸,头皮发麻。说是一朝被蛇咬,十年怕井绳怕也不为过。<br /> <br />Linux下之所以有这许多的依赖关系,其中一个开发原则
2010-12-02 09:02:00 380
转载 linux库文件编写入门
<br />一、为什么要使用库文件 <br /> 我们在实际编程工作中肯定会遇到这种情况:有几个项目里有一些函数模块的功能相同,<br /> 实现代码也相同,也是我们所说的重复代码。比如,很多项目里都有一个用户验证的功能。<br /> 代码段如下:<br /> //UserLogin.h文件,提供函数声明<br /> int IsValidUser(char* username, int namelen);<br /> //UserLogin.c文件,实现对用户信息的验证<br /> int
2010-12-02 08:58:00 410
转载 在屏幕上打印0-999这1000个数字,要求不用循环,不用递规
<br />#include <stdio.h>#define A(x) x;x;x;x;x;x;x;x;x;x;int main (void){ int n = 1; A(A(A(printf ("%d ", n++)))); return 0;}<br /> <br />转自:http://www.linuxforum.net/forum/showthreaded.php?Cat=&Board=program&Number=545251
2010-12-01 08:50:00 1470 1
UBuntu 10.04 smb.conf
2012-01-14
kernel-devel-2.6.25-14.fc9.i686.rpm
2011-09-13
git-1.6.6.tar.gz
2011-09-13
unix-linux编程实践教程 pdf
2011-07-22
S3C2410完全开发流程.pdf
2011-07-02
The C Programming Language 第二版课后答案
2010-12-13
Linux+HOWTO-chinese.tar.gz
2010-12-09
libxml-2.6.31.chm
2010-11-17
linux实验指导书.pdf
2010-09-19
MINIGUI-API-REF-MANUAL-V1.6-E.pdf
2010-04-16
SecureCRT_v5.1.0Build263_hh
2010-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人