随笔分类 -  linux

摘要:1、启动调试程序 gdb 调试对象,例如gdb app 2、运行程序 run 或这简写为r 3、设置断点 有几种不同的方式 1)break line 2) break file:line 3) break function:offset 查看已设置的端点:info break 禁用一个断点: dis 阅读全文
posted @ 2017-12-01 23:46 泡面狂 阅读(973) 评论(0) 推荐(0)
摘要:在linux内核中进程以及线程(多线程也是通过一组轻量级进程实现的)都是通过task_struct结构体来描述的,我们称它为进程描述符。而thread_info则是一个与进程描述符相关的小数据结构,它同进程的内核态栈stack存放在一个单独为进程分配的内存区域。由于这个内存区域同时保存了thread 阅读全文
posted @ 2017-10-21 18:38 泡面狂 阅读(8130) 评论(0) 推荐(1)
摘要:kdump就是kernel dump的简称,它是从DDR中直接获取的linux内核数据(系统代码/数据)。分析kdump是定位内核panic问题的有效手段之一,同时,通过kdump研究内核数据结构,也是学习和理解linux原理的好方法。本文将介绍如果在PC机上,针对当前运行的linux系统,建立起k 阅读全文
posted @ 2017-10-21 12:29 泡面狂 阅读(1823) 评论(0) 推荐(1)
摘要:今天在读《程序员面试宝典5》,遇到这样一个关于栈的题目: 如下C++程序: int i=0x22222222; char szTest[]="aaaa"; //a的ASCII码为61 func(i, szTest); //函数原型为void func(int a, char *sz); 请问进入fu 阅读全文
posted @ 2017-02-18 22:55 泡面狂 阅读(1054) 评论(0) 推荐(0)
摘要:RCU是linux系统的一种读写同步机制,说到底他也是一种内核同步的手段,本问就RCU概率和实现机制,给出笔者的理解。 【RCU概率】 我们先看下内核文档中对RCU的定义: RCU is a synchronization mechanism that was added to the Linux 阅读全文
posted @ 2017-01-14 23:09 泡面狂 阅读(2301) 评论(0) 推荐(0)
摘要:git stash用于将当前工作区的修改暂存起来,就像堆栈一样,可以随时将某一次缓存的修改再重新应用到当前工作区。 一旦用好了这个命令,会极大提高工作效率。 直接举例说明: 1、准备工作,首先初始化一个git仓 随便建立一个目录,进去,然后使用 : $: git init . 添加一个文件: $: 阅读全文
posted @ 2016-03-12 20:04 泡面狂 阅读(42967) 评论(0) 推荐(6)
摘要:网上有很多针对zlib的总结,但是很零散,自己经过总结,实现了用zlib压缩一个文件为gzip格式,似的可以直接使用winr工具解压。 具体方法是使用zlib的deflate系列函数,将buffer压缩为gzip格式,deflateInit2的参数注意使用MAX_WBITS+16,这样压缩后可以带g 阅读全文
posted @ 2016-03-12 14:39 泡面狂 阅读(4849) 评论(0) 推荐(0)
摘要:其实Windows和Linux并非水火不容,相反,我觉得,如果将二者结合起来,取长补短,便可打造一个华丽、实用的开发环境。 吾以为,不会用linux的人,不能称为一个程序猿,但是一味觉得Linux很吊,把windows完全当做shit,据而远之的话也是装13。 话不多说,下面我们一起看下Window 阅读全文
posted @ 2015-12-12 21:53 泡面狂 阅读(2583) 评论(0) 推荐(0)