Articles of 核心

用原始进程名称生成核心文件

我有一个二进制,将创build多个线程。 现在,当其中一个线程崩溃时,我想要生成的核心文件的名称包含原始进程名称而不是线程名称。 当我使用%e说明符时,它只给出线程名称(我认为这是因为在Linux中,所有线程都被视为LWP)。 如何获得在核心文件名中创build线程的原始进程? 我看了man文件 ,但没有任何其他说明符可以使用。

如何启用程序在Linux上转储核心?

我希望程序在Linux上进行崩溃时转储核心以进行debugging。 如何启用此function – 是否需要程序中的任何更改?

无限的abort()在c ++程序核心转储的背后

我有一个奇怪的问题,我无法解决。 请帮忙! 该程序是在ARM Linux机器上运行的multithreadingc ++应用程序。 最近我开始testing它的长时间运行,有时会在1-2天之后崩溃,如下所示: *** glibc detected ** /root/client/my_program: free(): invalid pointer: 0x002a9408 *** 当我打开核心转储我看到主线程似乎有一个损坏的堆栈:我所看到的是无限的中止()调用。 GNU gdb (GDB) 7.3 … This GDB was configured as "–host=i686 –target=arm-linux". [New LWP 706] [New LWP 700] [New LWP 702] [New LWP 703] [New LWP 704] [New LWP 705] Core was generated by `/root/client/my_program'. Program terminated with […]

使用c语言将用户从根目录更改为无人目录后,无法生成核心文件

在将用户从根目录更改为无人使用c语言后 ,我确信程序核心转储,但始终无法生成核心文件 。 我相信没有人有权在当前目录生成文件。 和ulimit -c是无限的,我使用: system("echo 'tesstestestestestetestestet!!!!!!' > hahahahhaahahah"); 将用户从根目录更改为无人后,文件hahahahhahahahah创build! 所以,我很混乱! 这里是我的C文件: #include <pwd.h> #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/types.h> #include <stdlib.h> int main() { #if 1 struct passwd *pw; //char *username = "root"; char *username = "nobody"; if (getuid() == 0 || geteuid() == 0) { if (username == 0 || […]

如何在linux中的cryptoAPI中添加更多的algorithm

当我检查/ proc /encryption它显示我: abhi@ubuntu:/proc$ cat crypto name : stdrng driver : krng module : kernel priority : 200 refcnt : 1 selftest : passed type : rng seedsize : 0 name : md5 driver : md5-generic module : kernel priority : 0 refcnt : 1 selftest : passed type : shash blocksize : 64 digestsize […]

什么是Linux中的核心转储文件? 它提供了什么信息?

什么是在Linux中的核心转储文件? 它提供的是什么信息?

目前的Linux内核debugging技术

Linux机器在启动和运行软件(包括自定义驱动程序)几个小时后就冻结了。 我正在寻找一种方法来debugging这样的问题。 最近,Linux内核debugging技术已经有了重大进展,不是吗? 我恳请分享一些关于这个话题的经验。

Coredump正在被截断

我正在设置 ulimit -c unlimited. 而在c + +程序中,我们正在做的 struct rlimit corelimit; if (getrlimit(RLIMIT_CORE, &corelimit) != 0) { return -1; } corelimit.rlim_cur = RLIM_INFINITY; corelimit.rlim_max = RLIM_INFINITY; if (setrlimit(RLIMIT_CORE, &corelimit) != 0) { return -1; } 但每当程序崩溃,它所产生的核心转储正在被截断。 BFD: Warning: /mnt/coredump/core.6685.1325912972 is truncated: expected core file size >= 1136525312, found: 638976. 可能是什么问题? 我们正在使用Ubuntu 10.04.3 LTS Linux ip-<ip> 2.6.32-318-ec2 […]

编译文件系统上任何内核源代码树的树外内核模块

我正在尝试编译一个模块来防止文件系统上的任何源代码树,但是我遇到了Makefile的问题。 这是我针对内核指定的原始Makefile: obj-m += new-mod.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean 这个Makefile可以正确编译,但是目标是让它在任何源码树上编译。 我已经试过了: obj-m += new-mod.o 我认为,“所有:”是假设,但我得到的错误: make: *** No targets. Stop. 我还补充说: all: 到Makefile没有区别,除了错误消息: make: Nothing to be done for `all' 我已经尝试了很多文档,但没有运气。 我将不胜感激任何帮助。

一个专门为我的过程核心

可能重复: 如何设置特定pthread的CPU亲和力? 在Linux中有一种方法可以禁用除一个进程之外的所有进程的一个内核吗? 我想只有一个核心保留,只为我的过程。 预期行为如下: 在我的过程后会产生的进程,不应该看到这个核心,并使用其他的。 当我的进程产生时,所有正在使用此内核的进程都应该切换到其他内核。