core文件,为什么Core文件用Core却打不开
来源:整理 编辑:智能门户 2024-09-08 06:17:09
本文目录一览
1,为什么Core文件用Core却打不开

2,查看一个core文件是哪个进程的
一般步骤1. file core文件,可以显示出core文件是哪个进程产生的2.使用gdb或者dbx加载core文件, gdb 进程名 core文件3.where,显示堆栈信息,显示出coredump的地方例如有个程序叫 ABC,产生了一个叫core的core文件,那么输入 file core, 会显示 这个core文件是由ABC产生的,然后输入 gdb ABC core装截core文件,然后 输入 where 显示堆栈信息可以使用top命令查看一个进程的各个线程分别run在哪个processor上在默认配置下不显示线程信息,需要进入top后按shift+h,打开线程显示。另外,如果没有p列,还需要按“f”,按“j”,添加,这一列显示的数字就是这个线程上次run的processor id。如果同一个进程名字有多个出现,说明进程有多个线程,几个线程就是线程数量了。
3,无法启动此程序因为计算机中丢失Coredll怎么办
在更新和恢复过程中,iTunes需要联系Apple。请确保您的电脑打开了以下端口,并可以访问以下服务器:端口80端口443phobos.apple.com、albert.apple.com、gs.apple.com原因:1、阻止了对端口 80 或 443 的访问。2、防火墙、第三方安全软件或其他互联网安全设置阻止了与 albert.apple.com 或 phobos.apple.com 的通信。3、iTunes Store 当前的流量极高。这是你的电脑误删了系统文件,或系统文件被顽固木马破坏!1.下载个“360系统急救箱”,已经安装了“360安全卫士”的朋友,直接打开“查杀木马”,“自定义扫描”的下面的“360系统急救箱”,点击它: 【1】。开始急救!急救完毕后,立即处理,重启! 【2】。开机后,“文件恢复区”,彻底删除文件! 【3】。“系统修复”,全选,立即修复!【关键】 【4】。网络修复,开始修复,重启电脑!【关键】 【5】。dll文件恢复,扫描一下,如果有丢失,添加恢复,没有就行了! 2。用“360安全卫士”的“系统修复”,点“ie常用设置”,“修改主页”,“使用360安全网址导航”,点:“一键修复”! 3。用“360安全卫士”的“扫描插件”,然后再点:“清理插件”,把“恶评插件”删除! 4。再用“360杀毒双引擎版”,勾选“自动处理扫描出的病毒威胁”,“全盘扫描”与“自定义扫描”,病毒木马,再点删除!重启电脑后,来到“隔离区”,点“彻底删除”! 5。木马查杀,“全盘扫描”与“自定义扫描”,查杀到木马,立即处理!重启!“文件恢复区”,彻底删除! 
4,怎么设置core文件的产生目录
一共四个目录,设置依次如下:1、工作目录:(这个是设置你的工作文件放在那个文件夹的路径,比如你工作路径是D盘/新建文件夹,那么你直接设置到这里就行了)2、矢量字库目录:这个一般都是系统默认的,一般不需要设置。一般都是设置在C:\MAPGIS67\CLIB3、系统库目录:这个一般都是系统默认的,一般不需要设置。一般都是设置在C:\MAPGIS67\SLIB4、系统临时目录:这个一般都是系统默认的,一般不需要设置。一般都是设置在C:\MAPGIS67\TEMP。ubuntu默认不创建core文件。需要用命令ulimit -c unlimited允许产生core dump且core文件大小不受限制,然后在可执行文件的同一目录下即可找了但当前设置的ulimit只对当前会话有效,若想系统均有效,则需要进行如下设置:在/etc/profile中加入以下一行,这将允许生成coredump文件ulimit-c unlimitedman builtins 然后搜索 ulimitman 5 core一共四个目录,设置依次如下:1、工作目录:(这个是设置你的工作文件放在那个文件夹的路径,比如你工作路径是D盘/新建文件夹,那么你直接设置到这里就行了)2、矢量字库目录:这个一般都是系统默认的,一般不需要设置。一般都是设置在C:\MAPGIS67\CLIB3、系统库目录:这个一般都是系统默认的,一般不需要设置。一般都是设置在C:\MAPGIS67\SLIB4、系统临时目录:这个一般都是系统默认的,一般不需要设置。一般都是设置在C:\MAPGIS67\TEMP以上,希望采纳
5,怎么查看Linux的core开关以及如何打开和关闭
dump文件可以在程序crash时,方便我们查看程序crash的地方和上下文信息。在window下,要能生成dump文件,需要自己编写相应的代码。不过现在网上可以找到相应的代码,只要把它下载后然后加到自己的工程中去,就可以了!在linux下面就简单的许多。只要打开相应的开关,linux会自动在程序crash时生成相应的core文件。这个文件和window下的dump文件类似。下面是简单的一些步骤:1.查看当前是否已经打开了此开关通过命令:ulimit -c 如果输出为 0,则代表没有打开。如果为unlimited则已经打开了,就没必要在做打开。2.通过命令打开ulimit -c unlimited .然后通过步骤1,可以监测是否打开成功。3.如果你要取消,很简单:ulimit -c 0 就可以了通过上面的命令修改后,一般都只是对当前会话起作用,当你下次重新登录后,还是要重新输入上面的命令,所以很麻烦。我们可以把通过修改/etc/profile文件 来使系统每次自动打开。步骤如下:1.首先打开/etc/profile文件一般都可以在文件中找到 这句语句:ulimit -S -c 0 /dev/null2&1.ok,根据上面的例子,我们只要把那个0 改为unlimited 就ok了。然后保存退出。2.通过source /etc/profile 使当期设置生效。3.通过ulimit -c 查看下是否已经打开。其实不光这个命令可以加入到/etc/profile文件中,一些其他我们需要每次登录都生效的都可以加入到此文件中,因为登录时linux都会加载此文件。比如一些环境变量的设置。还有一种方法可以通过修改/etc/security/limits.conf文件来设置,这个方法没有试过,也是网上看到。不过上面两种就可以了!最后说一下生成coredump文件的位置,默认位置与可执行程序在同一目录下,文件名是core.***,其中***是一个数字。coredump文件名的模式保存在/proc/sys/kernel/core_pattern中,缺省值是core。通过以下命令可以更改coredump文件的位置(如希望生成到/tmp/cores目录下)echo “/tmp/cores/core”/proc/sys/kernel/core_pattern设置完以后我们可以做个测试,写个程序,产生一个异常。然后看到当前目录会有个core*的文件。然后我们可以gdb core。* 程序 进行调试。
6,为什么没有产生core 文件
一、要保证存放Core dump的目录存在且进程对该目录有写权限。存放Core dump的目录即进程的当前目录,一般就是当初发出命令启动该进程时所在的目录。但如果是通过脚本启动,则脚本可能会修改当前目录,这时进程真正的当前目录就会与当初执行脚本所在目录不同。这时可以查看"/proc//cwd"符号链接的目标来确定进程真正的当前目录地址。通过系统服务启动的进程也可通过这一方法查看。 二、若程序调用了seteuid()/setegid()改变了进程的有效用户或组,则在默认情况下系统不会为这些进程生成Core dump。很多服务程序都会调用seteuid(),如MySQL,不论你用什么用户运行mysqld_safe启动MySQL,mysqld进行的有效用户始终是msyql用户。如果你当初是以用户A运行了某个程序,但在ps里看到的这个程序的用户却是B的话,那么这些进程就是调用了seteuid了。为了能够让这些进程生成Coredump,需要(echo "1" > /proc/sys/kernel/suid_dumpable)。 三、这个一般都知道,就是要设置足够大的Core文件大小限制了。程序崩溃时生成的Core文件大小即为程序运行时占用的内存大小。但程序崩溃时的行为不可按平常时的行为来估计,比如缓冲区溢出等错误可能导致堆栈被破坏,因此经常会出现某个变量的值被修改成乱七八糟的,然后程序用这个大小去申请内存就可能导致程序比平常时多占用很多内存。因此无论程序正常运行时占用的内存多么少,要保证生成Core文件还是将大小限制设为unlimited为好。 4 四、在/etc/profile中添加:ulimit -c unlimited > /dev/null 2?&1 五、一般在 CLI 上启动的程序,如果设置:ulimit -c unlimited 就可以在程序以外终止时生成 core dump 文件。但是对于 daemon 方式运行的程序,其与 CLI 启动的程序的主要区别是进程的运行环境,其中就包括 cwd(current working directory)。如果以相对路径方式定义 core 文件的格式,比如定义 /proc/sys/kernel/core_pattern 为: core-%e-%p-%t 则一般来说,daemon 文件的 cwd 就是/,你可以通过/proc//cwd来查看,一般都是连接到/目录。而如果用户对这个目录没有写权限,那么就不会生成 core dump 文件了。 最直接的解决的方法,是修改/proc/sys/kernel/core_pattern为绝对路径:/data/coredump/core-%e-%p-%t 并且保证这样就基本 OK 了。 修改/proc/sys/kernel/core_pattern文件中的 core dump 文件格式为绝对路径,比如: /data/coredump/core-%e-%p-%t在linux上只要打开core dump文件开关,当程序crash时系统生成相应的core文件。下面是简单的一些步骤:查看当前是否已经打开了此开关通过命令:ulimit -c 如果输出为 0 ,则代表没有打开。如果为unlimited则已经打开了,就没必要在做打开。2.通过命令打开ulimit -c unlimited .然后通过步骤1,可以监测是否打开成功。3.如果你要取消,很简单:ulimit -c 0 就可以了通过上面的命令修改后,一般都只是对当前会话起作用,当你下次重新登录后,还是要重新输入上面的命令,所以很麻烦。我们可以把通过修改 /etc/profile文件 来使系统每次自动打开。步骤如下:首先打开/etc/profile文件一般都可以在文件中找到 这句语句:ulimit -s -c 0 > /dev/null 2>&1.ok,根据上面的例子,我们只要把那个0 改为 unlimited 就ok了。然后保存退出。2.通过source /etc/profile 使当期设置生效。3.通过ulimit -c 查看下是否已经打开。其实不光这个命令可以加入到/etc/profile文件中,一些其他我们需要每次登录都生效的都可以加入到此文件中,因为登录时linux都会加载此文件。比如一些环境变量的设置。还有一种方法可以通过修改/etc/security/limits.conf文件来设置,这个方法没有试过,也是网上看到。不过上面两种就可以了!最后说一下生成core dump文件的位置,默认位置与可执行程序在同一目录下,文件名是core.***,其中***是一个数字。core dump文件名的模式保存在/proc/sys/kernel/core_pattern中,缺省值是core。通过以下命令可以更改core dump文件的位置(如希望生成到/tmp/cores目录下)echo “/tmp/cores/core” > /proc/sys/kernel/core_pattern设置完以后我们可以做个测试,写个程序,产生一个异常。然后看到当前目录会有个core*的文件。
文章TAG:
core 文件 为什么 什么 core文件
大家都在看
-
江门自动化智能制造公司,自动化设备制造公司
2024-01-18
-
平凉自动化机电设备安装,机电自动化设备安装与维修
2024-03-17
-
广州插座自动化公司,插座自动化机器
2024-03-19
-
大连顺诚自动化有限公司,鞍钢股份有哪些子公司?
2024-05-05
-
东莞铸铝自动化设备厂家,东莞壮凌自动化科技有限公司
2024-05-07
-
寸金电气工程及其自动化,福州大学电气工程与自动化学院
2024-07-12
-
港股 智能机器人,港股智能机器人公司
2023-12-05
-
深圳水瓶自动化组装设备,自动瓶装水设备价格
2024-02-01
-
长葛电气自动化公司,丰道电力科技有限公司怎么样?
2024-02-26
-
王利娜,我爱一个叫王利娜的女孩
2024-02-27
-
货车帮,货车帮好用吗
2024-03-11
-
自动化设备保全案例范文,设备自主保全有哪些意义?
2024-03-13
-
潮州自动化设备连锁,自动化设备有限公司
2024-03-25
-
中国专利公布,专利公开号要多久
2024-03-26
-
上海云飞自动化设备分公司,广州高光谱科技有限公司
2024-04-05