
Linux
初心在哪
擅长 量子纠缠 玄论
展开
-
Linux进程初始堆栈内容查看
http://linux.chinaitlab.com/administer/807513.html在学习《程序员的自我修养》时,对其P172页图6-12 “Linux进程初始堆栈”内容的来路有点兴趣,遂花了点时间研究了下,茫然中居然试探出了条可以得到进程初始堆栈的途径…… [root@cxj /]# cat a.c #include #incl转载 2013-06-07 01:53:50 · 1111 阅读 · 0 评论 -
Linux进程与它的堆栈空间
一)概述 .堆栈是一个用户空间的内存区域,进程使用堆栈作为临时存储. .堆栈中存放的是函数中的局部变量,在函数的生命周期中可以将变量压入堆栈,编译器需要确保堆栈指针在函数退出前恢复到初始位置,也就是说,内存是自动分配和释放的. .C/C++把存储在堆栈中的局部变量当作automatic存储,并使用auto关键字,这是局部变量的默认存储方式,所以现在没有人用auto关键转载 2013-06-07 01:42:01 · 3522 阅读 · 0 评论 -
linux下调试core的命令,察看堆栈状态命令
在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。 首先看看默认的一些core的参数,注意core file size是个0,程序出错时不会产生core文件了。$ ulimit -acore file size (blocks, -c) 0da转载 2013-06-07 01:31:35 · 843 阅读 · 0 评论 -
strace命令用法详解
调用:strace [ -dffhiqrtttTvxx ] [ -acolumn ] [ -eexpr ] ... [ -ofile ] [ -ppid ] ... [ -sstrsize ] [ -uusername ] [ command [ arg ... ] ]strace -c [ -eexpr ] ... [ -Ooverhead ] [ -Ssortby ] [转载 2013-06-07 01:23:21 · 600 阅读 · 0 评论 -
关于configure中build,target,host中的若干问题
可以参考:http://www.airs.com/ian/configure/configure_toc.htmlReference:http://www.tcpdump.org/lists/workers/2001/11/msg00148.htmlNope. See `info standards' for the definition of $build*, $host* and$target* macros. Basically, $build* refer to the system转载 2010-10-09 02:00:00 · 5182 阅读 · 0 评论 -
gdb几个命令列表
Linux 包含了一个叫gdb 的GNU 调试程序。gdb 是一个用来调试C和C++程序的强力调试器。它使你能在程序运行时观察程序的内部结构和内存的使用情况。以下是 gdb 所提供的一些功能:它使你能监视你程序中变量的值、它使你能设置断点以使程序在指定的代码行上停止执行、它使你能一行行的执行你的代码。在命令行上键入gdb并按回车键就可以运行gdb 了。(Windows需要安装MinGW或者CygW转载 2013-07-21 12:04:48 · 758 阅读 · 0 评论 -
Linux进程状态解析之R、S、D、T、Z、X
Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。Linux进程状态:R (TASK_RUNNING),可执行状态。只有在该状态的进程才可能在CPU上运行。而同一时刻可能有多个进程处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的可执行队列中(一个进程最多只能出现在一个CPU的可转载 2013-06-16 23:40:43 · 702 阅读 · 0 评论 -
ptrace源代码分析
ptrace作为应用程序调试的基石,要想对其有深入的了解,最好的方法是分析它的源代码。选取linux2.6.8,更高版本的内容基本相同。实现ptrace系统调用功能的主要是sys_ptrace函数,当然还包括一些读写寄存器的辅助函数。该函数的基本结构比较简单:(1)判断该进程是否被跟踪,即request==PTRACE_TRACEME,如果是,对其进行处理。(2)根据被跟踪子进程的pid找转载 2013-06-16 23:39:11 · 1770 阅读 · 0 评论 -
GDB调试命令layout
(gdb) display /i $pc命令可以在调试时显示每条汇编命令。(gdb) layout asm显示汇编代码窗口。(gdb) layout regs显示寄存器窗口。(gdb) layout src显示源代码窗口。info win 显示窗口的大小layout next 切换到下一个布局模式layout prev 切换到上一个布局模式layo原创 2013-06-16 23:14:47 · 7288 阅读 · 2 评论 -
Linux下多线程查看工具(pstree、ps、pstack)
http://blog.chinaunix.net/uid-24690947-id-2978437.html1. pstreepstree以树结构显示进程$ pstree -p work | grep adsshd(22669)---bash(22670)---ad_preprocess(4551)-+-{ad_preprocess}(4552)转载 2013-06-07 02:12:03 · 895 阅读 · 0 评论 -
Linux下查看线程—pstack
需求:研发改进了某一程序,time_point_logger线程由原来的6个线程改为3个,需验证是否修改了 思路:1.找到目标程序所占的所有线程;2.查看需求中所提线程的数量;操作:1.pstack pid首先要找到程序对应的pidps aux | grep peer_tracker (peer_tracke转载 2013-06-07 02:08:10 · 1217 阅读 · 0 评论 -
Linux下利用backtrace追踪函数调用堆栈
http://www.linuxidc.com/Linux/2012-11/73470.htm一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。在glibc头文件"execinfo.h"中声明了三个函数用于获取当前线程的函数调用堆栈。转载 2015-06-07 01:02:31 · 682 阅读 · 0 评论 -
gcc的安装与配置
gcc的安装与配置2004年4月20日最新版本的GCC编译器3.4.0发布了。目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言。GCC 3.4.0比以前版本更好地支持了C++标准。本文以在Redhat Linux上安装GCC3.4.0为例,介绍了GCC的安装过程。 安装之前,系统中必须要有cc或者gcc等编译器,并且是可用转载 2009-10-24 11:39:00 · 741 阅读 · 0 评论 -
构建ARM Linux交叉编译工具链 详解
构建ARM Linux交叉编译工具链 详解 本章学习目标: ● 了解交叉编译工具链 ● 理解分步构建交叉编译工具链的方法 ● 学会使用Crosstool工具构建交叉编译工具链2.1 交叉编译工具链介绍读者可能会有疑问,为什么要用交叉编译器?交叉编译通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程式,比如在PC平台(X86 CPU)上编译出转载 2009-11-06 09:17:00 · 3247 阅读 · 2 评论 -
.o .a .so文件
linux下文件的类型是不依赖于其后缀名的,但一般来讲:.o,是目标文件,相当于windows中的.obj文件.so 为共享库,是shared object,用于动态连接的,和dll差不多.a为静态库,是好多个.o合在一起,用于静态连接.la为libtool自动生成的一些共享库,vi编辑查看,主要记录了一些设置信息。能用如下命令查看*.la文件的格式 $file *.la *转载 2009-10-27 16:13:00 · 4614 阅读 · 2 评论 -
谈谈嵌入式中的GCC
谈谈嵌入式中的GCC 导读: 在嵌入式环境中,如何理解Gcc是怎么工作的?你是否知道在工具链目录下的其他工具的用途?还有没有让你更好适应这些工具的诀窍和秘笈?OK,读读这篇linuxjournal上的文章吧,主要是讲如何构建Gcc交叉编译器,探讨了Gcc编译的过程,并共享了一些有效的技巧。我觉得讲得非常棒,就拿出来翻译到这里。请注意,我不是完全忠于原文翻译,而是可能加入一些自己以前交叉编译的转载 2009-11-07 20:27:00 · 1087 阅读 · 1 评论 -
GCC编译方法
转载 2009-11-07 20:32:00 · 434 阅读 · 0 评论 -
linux下检测内存的命令 do pmap
linux下检测内存的命令 do pmap2010-09-13 10:06xincheng65 | 分类:Linux | 浏览2138次linux 下检测 13894 这个进程的内存,为什么用这个命令?tail -1 啥意思啊?while true; do pmap -x 13894 | tail -1;sleep 1;done网友采纳2010-09-转载 2013-06-07 01:37:33 · 972 阅读 · 1 评论