Tag Archives: gentoo

zz Linux下的段错误的原因及调试

简而言之,产生段错误就是访问了错误的内存段,一般是你没有权限,或者根本就不存在对应的物理内存,尤其常见的是访问0地址. 一 般来说, 段错误就是指访问的内存超出了系统所给这个程序的内存空间,通常这个值是由gdtr来保存的,他是一个48位的寄存器,其中的32位是保存由它指向的 gdt表,后13位保存相应于gdt的下标,最后3位包括了程序是否在内存中以及程序的在cpu中的运行级别,指向的gdt是由以64位为一个单位的表, 在这张表中就保存着程序运行的代码段以及数据段的起始地址以及与此相应的段限和页面交换还有程序运行级别还有内存粒度等等的信息。一旦一个程序发生了越界 访问,cpu就会产生相应的异常保护,于是segmentation fault就出现了. 在编程中以下几类做法容易导致段错误,基本是是错误地使用指针引起的 1)访问系统数据区,尤其是往 系统保护的内存地址写数据    最常见就是给一个指针以0地址 2)内存越界(数组越界,变量类型不一致等) 访问到不属于你的内存区域 解决方法 我 们在用C/C++语言写程序的时侯,内存管理的绝大部分工作都是需要我们来做的。实际上,内存管理是一个比较繁琐的工作,无论你多高明,经验多丰富,难免 会在此处犯些小错误,而通常这些错误又是那么的浅显而易于消除。但是手工“除虫”(debug),往往是效率低下且让人厌烦的,本文将就"段错误"这个内 存访问越界的错误谈谈如何快速定位这些"段错误"的语句。 下面将就以下的一个存在段错误的程序介绍几种调试方法:      1 dummy_function (void)      2 {      3          unsigned char *ptr = 0×00;      4          *ptr = 0×00; … Continue reading

Posted in Linux系统 | Tagged , , , , , , , , , , , , | Leave a comment

gentoo如何处理被屏蔽(masked)的包 by 杨珂 转自linuxsir

原文是英文wiki里Dealing with masked packages那篇 http://gentoo-wiki.com/TIP_Dealing_with_masked_packages 感觉这篇很重要,在wiki里做为TIP类,自然表示可以带来很多方便,特别是后面那几个脚本 早就想翻译这篇了, 一直没动手,眼看下周就要开学了,要忙开学的事情。 所以今天赶紧把它译了出来 里面有一些专有词汇 如有问题请大家指正 —————————————————————————————————————– 相关连的那篇也翻译了: Package.keywords的小技巧 原文 http://gentoo-wiki.com/TIP_package.keywords 同步的中文wiki http://zh.gentoo-wiki.com/Package.ke…8A%80%E5%B7%A7 wiki里这两篇文章的相关联系已经更新 ———————————————————————————————————————— 其他更新 HOWTO 用Cedega运行极品飞车9 http://zh.gentoo-wiki.com/HOWTO_%E7%…3%9E%E8%BD%A69 原文: http://gentoo-wiki.com/HOWTO_RUN_Nee…ed_with_Cedega —————————————————————————————————————————— 处理被屏蔽(masked)的包 本文内容: 介绍 被关键字(keyword)屏蔽(masked)的包 被不明的关键字屏蔽 被严格屏蔽(Hard masked)的包 手动进行严格屏蔽 编辑/etc/portage/package.keywords文件的简便方法 开放一大群有联系的包 介绍 首先,被关键字(keyword)屏蔽(masked)的包都是测试中的或者不稳定的包: 注意: … Continue reading

Posted in Linux系统 | Tagged , , , , , , , , , , | Leave a comment

gentoo的相关配置-make.conf

桌面环境 gnome ,因为自己还是新手,求稳和相对的易用性,没用太刺激的~x86,只是在几个包上使用了keywords,比如fcitx。希望能帮助需要的人。 另外,新装的gentoo系统忌上来就用一堆的use, $cat /etc/make.conf # These settings were set by the catalyst build script that automatically # built this stage. # Please consult /etc/make.conf.example for a more detailed example. CFLAGS=”-O2 -march=athlon-xp   -pipe -fomit-frame-pointer ” CXXFLAGS=”${CFLAGS}” # This should … Continue reading

Posted in Linux系统 | Tagged , , , , , , , , , , | Leave a comment