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

Linux下core文件调试方法


Linux下core文件调试方法


在程序不寻常退出时,内核会在当前工作目录下生成一个core文件(是一个内存映像,同时加上调试信息)。使用gdb来查看core文件,可以指示出导致程序出错的代码所在文件和行数。
1.core文件的生成开关和大小限制
 1)使用ulimit -c命令可查看core文件的生成开关。若结果为0,则表示关闭了此功能,不会生成core文件。
 2)
使用ulimit -c filesize命令,可以限制core文件的大小(filesize的单位为kbyte)。若ulimit -c
unlimited,则表示core文件的大小不受限制。如果生成的信息超过此大小,将会被裁剪,最终生成一个不完整的core文件。在调试此core文
件的时候,gdb会提示错误。
2.core文件的名称和生成路径
core文件生成路径:
输入可执行文件运行命令的同一路径下。
若系统生成的core文件不带其它任何扩展名称,则全部命名为core。新的core文件生成将覆盖原来的core文件。
1)/proc/sys/kernel/core_uses_pid可以控制core文件的文件名中是否添加pid作为扩展。文件内容为1,表示添加pid作为扩展名,生成的core文件格式为core.xxxx;为0则表示生成的core文件同一命名为core。
可通过以下命令修改此文件:
echo "1" > /proc/sys/kernel/core_uses_pid
2)proc/sys/kernel/core_pattern可以控制core文件保存位置和文件名格式。
可通过以下命令修改此文件:
echo "/corefile/core-%e-%p-%t" > core_pattern,可以将core文件统一生成到/corefile目录下,产生的文件名为core-命令名-pid-时间戳
以下是参数列表:
    %p - insert pid into filename 添加pid
    %u - insert current uid into filename 添加当前uid
    %g - insert current gid into filename 添加当前gid
    %s - insert signal that caused the coredump into the filename 添加导致产生core的信号
    %t - insert UNIX time that the coredump occurred into filename 添加core文件生成时的unix时间
    %h - insert hostname where the coredump happened into filename 添加主机名
    %e - insert coredumping executable name into filename 添加命令名
3.core文件的查看
 core文件需要使用gdb来查看。


相关文档:

在64位linux上编译32位程序

[编辑中]
-m32
# ld -V
GNU ld version 2.15.92.0.2 20040927
  Supported emulations:
   elf_x86_64
   elf_i386
   i386linux
#ld -m elf_i386
Along with the -m32 flag in gcc, you may need to include the -melf_i386 flag for ld to properly link the 32bi ......

linux函数、结构体研究

学习别人的,记录自己的。
1、sysinfo用法
#include <sys/sysinfo.h>
int sysinfo(struct sysinfo info);
记录了linux中启动时间、内存信息、交换分区、cpu负载等信息。
成功返回0,失败返回-1
struct sysinfo {
    long uptime;           ......

Linux时间设置

时区设定:
主要文件
/etc/sysconfig/clock
用北京时间的正确内容应该是
TIMEZONE="Asia/Beijing"
DEFAULT_TIMEZONE="Asia/Beijing"
同时确保 /etc/localtime文件是/usr/share/zoneinfo/Asia/Beijing的拷贝
保持更新:
在/etc/crontab中加入一行
10 5 * * * root /usr/sbin/ntpdate 221.139.48.11 && /sbin/ ......

如何获得linux 命令源码安装包[转]

另:要实现某一些linux自带命令相同的功能,(比如:要实现在linux下查询cpu的占用率,linux的命令是top), 可以参考一下该命令(top)的linux源码,
转自http://hi.baidu.com/yanjinbin/blog/item/3d25ebdd29756fea76c6381f.html
# which reboot   <---which指令会在环境变量$PATH设置的目录里查找符合条件的 ......

linux下实时检测网络带宽的小工具bmon

在linux的proc文件系统中,通过查看/proc/net/dev文件
可以得到每个网络接口的吞吐量,但是无法获得实时带宽
最近发现了一种基于ncurses库的小程序bmon,可以获得实时带宽
Example:
执行
[root@debian ~]# bmon -o ascii -p eth0
Interface RX Rate RX # TX Rate TX #
eth0 0.00B 0.0 0.00B 0.0
eth0 0.00B 0.0 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号