易截截图软件、单文件、免安装、纯绿色、仅160KB

linux学习 运行时确定程序出错的位置

       首先,在编译程序时,增加-g选项,使执行文件包含符号信息。其次,在程序开始运行时,调用api函数设置信号处理函数(如signal(), sigaction()等),用来处理各种信号。例如程序发生”除0错误”时,就会发出一种信号。最后,完成一个函数堆栈输出函数。用backtrack()获取函数调用堆栈,然后用backtrace_symbols()转换为字符串来显示。
       我在eclipse环境下,完成了demo:
1.       用鼠标右键单击工程,选择属性,弹出属性对话框。
2.       在属性对话框中,选择Build->setting。在g++/gcc编译属性中添加编译参数”-g”。
3.       创建一个void trace_show(int sig)函数,用来处理信号。在其中输出函数调用堆栈信息。
4.       在程序启动位置,调用sigaction()函数。
 
附录:信号表
名称                 默认动作            说明
SIGHUP         终止进程       终端线路挂断
SIGINT         终止进程       中断进程
SIGQUIT        建立CORE文件  终止进程,并且生成core文件
SIGILL         建立CORE文件        非法指令
SIGTRAP        建立CORE文件        跟踪自陷
SIGBUS         建立CORE文件        总线错误
SIGSEGV        建立CORE文件        段非法错误
SIGFPE         建立CORE文件        浮点异常
SIGIOT         建立CORE文件      


相关文档:

Redboot配置从flash引导的linux内核

首先,配置RedBoot的IP及其tftp服务器IP,装好tftp服务器,需要下载的内核及内存镜象应放在服务器的/tftpboot目录下
配置RedBoot的指令是
> fconfig
注意:启动的延时不要设为0,否则以后就很难再更改系统了
然后要执行flash存储器的初始化工作:
> fis init
之后,将kernel与ramdisk.gz通过tftp下载至内存并写 ......

Linux内存线性地址空间布局解析


 
Linux内存线性地址空间大小为4GB,分为2个部分:用户空间部分(通常是3G)和内核空间部分(通常是1G)。在此我们主要关注内核地址空间部分。
内核通过内核页全局目录来管理所有的物理内存,由于线性地址前3G空间为用户使用,内核页全局目录前768项(刚好3G)除0、1两项外全部为0,后256项(1G)用来管理所有的物 ......

Linux(Ubuntu)设置环境变量

今天又学了环境变量的设置,感受比较深一些,首先把我从网上看到的知道和大家分享一下。
环境变量是和Shell紧密相关的,用户登 录系统后就启动了一个Shell。对于Linux来说一般是bash,但也可以重新设定或切换到其它的 Shell。对于UNIX,可能是CShelll。环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前 ......

如何将windows下的文件夹挂载到虚拟机Linux系统下

        我所讲的是windows真实系统上有vmware的linux系统,将windows下的一个文件夹共享,如何挂载到虚拟机的linux系统下,也就是如何让linux系统试用windows下的一个文件夹。
      大家也许不太明白,下面我就做一些截图
双击share folder,一定要保证sh ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号