
GNU/linux
文章平均质量分 69
jianchenglee
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
No space left on device /tmp 原因和解决方法
No space left on device /tmpdf 命令若显示如下文件系统 1K-块 已用 可用 已用% 挂载点/dev/sda1 19734388 16884588 1847348 91% /tmpfs 257344原创 2013-08-08 16:08:47 · 16341 阅读 · 0 评论 -
linux cache swap 以及 虚拟内存等
提出四个问题及解答:1)若进程在运行过程中,物理内存不足会发生什么?2)为何进程在占用物理内存不变的情况下,系统的物理内存会增加?3)为何程序的大小大于实际占用的物理内存?(假如程序30M,却只有20M物理内存)4)malloc分配的内存,未体现在物理内存上?(分配了10M,物理内存可能还不足10M)原创 2013-09-26 10:45:12 · 1243 阅读 · 0 评论 -
libc死机问题二(free死机)
一、简介c语言本身并没有对内存的管理,在标准并没有明确的给出行为规定 本文只讨论glibc下的情况1)glibc库提供了有限的管理,在操作非法时,会触发abort信号,或者由操作系统触发segmentfault信号2)当程序的代码量较大时,内存问题的查找极为艰难二、glibc free死机的分类1)glibc detected *** f原创 2013-09-16 14:26:53 · 2269 阅读 · 0 评论 -
libc死机问题一(invalid pointer、数组或者指针越界)
一、简要介绍下glibc libcglibc:最开始是由fsf组织发起,实现ANSI C标准,在1990年后开始兼容c89和posix标准libc:1)起源于glibc,在1990年后,linux内核开发者发现glibc的发展过于缓慢,就拷贝了一个分支,后独立发展libc2-libc52)但1997年,glibc release了2.0版本,在可移植性,功能支持(ipv6、64原创 2013-08-09 10:56:12 · 1817 阅读 · 0 评论 -
coredump的生成以及gdb查看
coredump是记录了特点时间某一进程的内存状态,主要是内存的寄存器、堆栈、其他内存信息,本文件简述下coredump生成以及使用gdb查看的方式一、默认不生成coredump[root@linux mcheck]# ./mainp=0x14a39010after free p one time*** glibc detected *** ./main: double fre原创 2013-09-03 17:25:33 · 1938 阅读 · 0 评论 -
段错误(segmentation fault)
segmentation fault段错误segmentation fault段错误往往是由于访问了一个不可存取的内存地址,或者是试图以一种不可不允许的方式访问某块内存(如写入一块只读内存等)。segmentation是个历史名词,是由内存的段式管理和页式管理而来。不同os对段错误触发的信号可能不一致,在类unix系统中,信号是SIGSEGV ,此信号被发送到触发段错误的进程。引起段错翻译 2013-08-15 16:29:32 · 1861 阅读 · 0 评论 -
总线错误(bus err)
bus error在posix兼容的平台上,引起bus errors的进程通常会收到内核发送一个SIGBUS信号。当然,SIGBUS也可能是设备故障引起的。bus errors错误由硬件引起的问题较少,大部分是由程序bug引起的。引起bus errors的问题主要两种:1)不存在的地址,程序产生了一条指令,读写不存在的物理地址。2)unaligned access(未对齐的访问)原创 2013-08-15 16:25:59 · 5511 阅读 · 1 评论 -
进程地址空间(linux)
linux下,进程的地址空间是由允许进程使用的全部线性地址组成。在32位系统中进程地址空间的大小一般为4GB.内核通过线性区来管理进程的内存地址,线性区通过链表和红黑树进行组织,方便查收、增加以及删除等操作。线性区大致分为如下几类:text段、data段、heap段、stack段、内存映射以及匿名段段等下面以一个C程序为例,展示各个线性区的内存地址:debian:/home/bsh原创 2013-08-15 16:20:33 · 1072 阅读 · 0 评论 -
gcc优化
一、空间优化(减少可执行文件的大小)主要有两个方向:1)去除符号信息 2)只链接有用的东西示例引自http://wiki.wxwidgets.org/Reducing_Executable_Size:Test #1# wxGTK compiled with:# ./configure --disable-debug --disable-shared# make$原创 2013-08-23 15:42:14 · 1438 阅读 · 0 评论 -
.ARM.exidx
一介绍:`.ARM.exidx` is the section containing information for unwinding the stack. If your C program has functions that print out a stack backtrace, the functions will likely depend on this section bei原创 2014-06-20 13:46:21 · 7440 阅读 · 0 评论