go 程序生成 coredump 文件

go 程序生成 coredump 文件,第1张

如果需要针对当前用户一直生效,那么需要在 ~/.bash_profile 追加:袜嫌

如果需要针对所有用户生效,那么需要在 /etc/profile 追加:

然后再对应执行 source ~/.bash_profile 或者 source /etc/profile

测试:

编译运行,然后键盘敲 Ctrl + \,会发现当前目录生成了core文件

在 /proc/sys/kernel/core_pattern 可以设置格式化的core文件保存位置和文件名

比如: core-%e-%p-%t 表示慎举在当前目录生成 "core-命令-pid-时间戳" 为文件名的core文件

比如: /cfg/core-%e-%p-%t 表示在/cfg下生成 "core-命告孝手令-pid-时间戳" 为文件名的core文件

注意: /proc/sys/kernel/core_pattern 不能直接编辑,可以用 echo core-%e-%p-%t >/proc/sys/kernel/core_pattern

一、func Open(name string) (file *File, err error)

再简单不过了,给一个路径给它,返回文件描述符,如果出现错误就会返回一个 *PathError。

这是一个只读打开模式,实际上就是 os.OpenFile() 的快捷 *** 作,它的原型如下:

复制代码代码如下:

func Open(name string) (file *File, err error) {

return OpenFile(name, O_RDONLY, 0)

}

二、func OpenFile(name string, flag int, perm FileMode) (file *File, err error)

这个复杂点,需要提供文件路径、打开模式、文件权限告敏困。

打开标记:

O_RDONLY:只读模式(read-only)

O_WRONLY:只写模式(write-only)

O_RDWR:读写模式(read-write)

O_APPEND:追加模式(append)

O_CREATE:文件不存在就创建(create a new file if none exists.)

O_EXCL:与 O_CREATE 一起用,构成一个新建文件的功能,它要求文件必须不存在(used with O_CREATE, file must not exist)

O_SYNC:同步方式打开,即不使用缓存,直接写入硬盘

O_TRUNC:打开并清空文件

文件权限(袜念unix权限位):只有在创建文件时才需要拿指,不需要创建文件可以设置为 0。os库虽然提供常量,但是我一般直接写数字,如0664。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12308843.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存