文件管理 · 2024年1月13日

coredumped文件在哪|window上如何设置才能获取dump文件

1. ubuntu core mp的文件在哪个目录

缺省是执行程序所在的目录

2. RedHat linux下如何生成core mp文件

在linux平台下,设置core mp文件生成的方法:1 )如何生成 coremp 文件登陆 LINUX 服务器,任意位置键入 echo "ulimit -c 1024" >> /etc/profile退出 LINUX 重新登陆 LINUX键入 ulimit -c如果显示 1024 那么说明 coremp 已经被开启。1024 限制产生的 core 文件的大小不能超过 1024kb,可以使用参数unlimited,取消该限制ulimit -c unlimited2 ) . core 文件的简单介绍在一个程序崩溃时,它一般会在指定目录下生成一个 core 文件。 core 文件仅仅是一个内存映象 ( 同时加上调试信息 ) ,主要是用来调试的。3 ) . 开启或关闭 core 文件的生成用以下命令来阻止系统生成 core 文件 :ulimit -c 0下面的命令可以检查生成 core 文件的选项是否打开 :ulimit -a该命令将显示所有的用户定制,其中选项 -a 代表“ all ”。也可以修改系统文件来调整 core 选项在 /etc/profile 通常会有这样一句话来禁止产生 core 文件,通常这种设置是合理的 :# No core files by defaultulimit -S -c 0 > /dev/null 2>&1但是在开发过程中有时为了调试问题,还是需要在特定的用户环境下打开 core 文件产生的设置。在用户的 ~/.bash_profile 里加上 ulimit -c unlimited 来让特定的用户可以产生 core 文件。如果 ulimit -c 0 则也是禁止产生 core 文件,而 ulimit -c 1024 则限制产生的 core 文件的大小不能超过 1024kb4 ) . 设置 Core Dump 的核心转储文件目录和命名规则/proc/sys/kernel/core_uses_pid 可以控制产生的 core 文件的文件名中是否添加 pid 作为扩展 ,如果添加则文件内容为 1 ,否则为 0proc/sys/kernel/core_pattern 可以设置格式化的 core 文件保存位置或文件名 ,比如原来文件内容是 core-%e可以这样修改 :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 coremp into the filename 添加导致产生 core 的信号 %t – insert UNIX time that the coremp occurred into filename 添加 core 文件生成时的 unix 时间 %h – insert hostname where the coremp happened into filename 添加主机名 %e – insert coremping executable name into filename 添加命令名6 ) . 一个小方法来测试产生 core 文件直接输入指令 :kill -s SIGSEGV $$发生coremp一般都是在进程收到某个信号的时候,Linux上现在大概有60多个信号,可以使用 kill -l 命令全部列出来。针对特定的信号,应用程序可以写对应的信号处理函数。如果不指定,则采取默认的处理方式, 默认处理是coremp的信号如下:3)SIGQUIT 4)SIGILL 6)SIGABRT 8)SIGFPE 11)SIGSEGV 7)SIGBUS 31)SIGSYS5)SIGTRAP 24)SIGXCPU 25)SIGXFSZ 29)SIGIOT我们看到SIGSEGV在其中,一般数组越界或是访问空指针都会产生这个信号。另外虽然默认是这样的,但是你也可以写自己的信号处理函数改变默认行为。上述内容只是产生coremp的必要条件,而非充分条件。要产生core文件还依赖于程序运行的shell,可以通过ulimit -a命令查看

3. window上如何设置才能获取mp文件

第一步丶打开电脑的mp文件存储功能。在“我的电脑”上右键——属性——高级,选好后点确定,下次再出现蓝屏时,系统就会存储下mp文件,一般存放位置在系统盘的minimp文件夹下。(建议在该文件夹上点右键——属性——发送到——桌面快捷方式,以后就能在桌面上找到该文件夹了) 。第二步丶下载安装随便选一个下载,安装时,一路“下一步”就行了。第三步丶使用windbg诊断蓝屏错误 上面两步设好后,就想办法开始“制造”蓝屏吧,平时怎么用会出现蓝屏就拼命用直到出现蓝屏。蓝屏后重启,在minimp文件夹下会出现一个以日期为文件名的东东,那就是我们要的了。接下来打开windbg,点屏幕左下的 “开始”,软件启动点File——Open Crash Dump, 然后找到minimp文件夹,mp文件一般是"时间.dmp",打开后就会自动分析了。分析完后,看最下面,找到3.probably caused by这一行, 那个myfault.sys文件就是罪魁祸首。 导入mp文件分析完毕后,不要关闭,在后面输入 !analyze -v ,这个命令可以查看mp文件的详细情况。

4. ubuntu core mp的文件在哪个目录

ubuntu默认不创建core文件。需要用命令 ulimit -c unlimited 允许产生core mp且core文件大小不受限制,然后在可执行版文件的同一目权录下即可找了 但当前设置的ulimit只对当前会话有效,若想系统均有效,则需要进行如下设置: 在/etc/profile中加入以下一行,这将允许生成coremp文件 ulimit-c unlimited

5. 如何生成coremp文件

使用C/C++语言开发程序时,当程序crash的时候产生core mp文件对于调试程序是很有帮助的。在Redhat Linux系统中默认是不生成core mp文件的,这是因为在/etc/profile文件中有这样一行ulimit -S -c 0 /dev/null 2&1第一种方法是修改/etc/profile,把ulimit那一行改为ulimit -S -c unlimited /dev/null 2&1这样设置后系统允许所有用户生成没有大小限制的core mp文件。这样做的优点是不需要重起系统,缺点是无法控制只让某些用户生成core mp文件。* soft core 0如果只想对某些用户或用户组打开core mp,可以加入user soft core 0或@group soft core 0注意如果通过修改/etc/security/limits.conf文件打开core mp,还需要注释掉/etc/profile中的ulmit那一行#ulimit -S -c 0 /dev/null 2&1这样修改的优点是可以针对特定用户或特定组打开core mp文件,缺点是需要重起系统。最后说一下生成core mp文件的位置,默认位置与可执行程序在同一目录下,文件名是core.***,其中***是一个数字。core mp文件名的模式保存在/proc/sys/kernel/core_pattern中,缺省值是core。通过以下命令可以更改core mp文件的位置(如希望生成到/tmp/cores目录下)

6. 什么是Core Dump怎么使用

开发和使用Unix程序时, 有时程序莫名其妙的down了, 却没有任何的提示(有时候会提示core mped). 这时候可以查看一下有没有形如core.进程号的文件生成, 这个文件便是操作系统把程序down掉时的内存内容扔出来生成的, 它可以做为调试程序的参考.core mp又叫核心转储, 当程序运行过程中发生异常, 程序异常退出时, 由操作系统把程序当前的内存状况存储在一个core文件中, 叫core mp.gdb -c core文件路径 [应用程序的路径]进去后输入where回车, 就可以显示程序在哪一行当掉的, 在哪个函数中.有时候程序down了, 但是core文件却没有生成. core文件的生成跟你当前系统的环境设置有关系, 可以用下面的语句设置一下, 然后再运行程序便成生成core文件.core文件生成的位置一般于运行程序的路径相同, 文件名一般为core.进程号