`
raojl
  • 浏览: 211870 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Controlling core files (Linux)

阅读更多

Controlling core files (Linux)

core file文件重定位:echo /tmp/core.%e.%p > /proc/sys/kernel/core_pattern

 

Core files get created when a program misbehaves due to a bug, or a violation of the cpu or memory protection mechanisms. The operating system kills the program and creates the core file.

If you don't want core files at all, set "ulimit -c 0" in your startup files. That's the default on many systems; in /etc/profile you may find 



 
ulimit -S -c 0 > /dev/null 2>&1 
 

If you DO want core files, you need to reset that in your own .bash_profile:

 
ulimit -c 50000 
 



would allow core files but limit them to 50,000 bytes.

You have more control of core files in /proc/sys/kernel/

For example, you can do eliminate the tagged on pid by

 
echo "0" > /proc/sys/kernel/core_uses_pid 
 



Core files will then just be named "core". People do things like that so that a user can choose to put a non-writable file named "core" in directories where they don't want to generate core dumps. That could be a directory (mkdir core) or a file (touch core;chmod 000 core). I've seen it suggested that a symlink named core would redirect the dump to wherever it pointed, but I found that didn't work.

But perhaps more interesting is that you can do: 

mkdir /tmp/corefiles 
chmod 777 /tmp/corefiles 
echo "/tmp/corefiles/core" > /proc/sys/kernel/core_pattern 
 

All corefiles then get tossed to /tmp/corefiles (don't change core_uses_pid if you do this).

Test this with a simple script:

 
# script that dumps core 
kill -s SIGSEGV $$ 

 

分享到:
评论

相关推荐

    C# 7 and .NET Core: Modern Cross-Platform Development - Second Edition

    Linux, or Windows. You will learn about the different .NET technologies: .NET Framework, .NET Core, .NET Standard, and .NET Native. Chapter 2, Speaking C#, is about the C# language---the grammar and ...

    NTFS Documentation

    The documentation was initially created to complement the Linux NTFS driver and is maintained online for continuous updates. ##### NTFS Documentation Preface The preface acknowledges that the ...

    Professional Assembly Language

    Chapter 6, “Controlling Execution Flow,” describes the branching instructions used in assembly lan- guage programs. Possibly one of the most important features of programs, the ability to recognize ...

    JLink_Windows_V648.zip

    DLL: RISC-V: Reset could fail with "core did not halt after reset" even if the core halted correctly. Fixed. DLL: Re-attaching to existing debug session after connecting and disconnecting once via ...

    python3.6.5参考手册 chm

    PEP 3149: ABI Version Tagged .so Files PEP 3333: Python Web Server Gateway Interface v1.0.1 Other Language Changes New, Improved, and Deprecated Modules email elementtree functools itertools ...

    CImg Reference

    - **`CImg<T>`**: The core image structure that handles various image processing tasks. - **`CImgList<T>`**: A list structure for managing multiple images. - **`CImgDisplay`**: A structure for ...

    Debugging with GDB --2007年

    Table of Contents Summary of GDB ....Examining Source Files . . . . . . . . . . . . . . . . . . . 57 7.1 7.2 7.3 7.4 8 33 33 37 38 39 40 41 42 43 43 46 48 Printing source lines . . . . . ....

    DebuggingWithGDB 6.8-2008

    2.1.1 Choosing Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 Choosing Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ...

Global site tag (gtag.js) - Google Analytics