区分处理器是酷睿几代的方法如下:
1、只要知道处理器的具体型号就知道是几代的。
2、以下是处理器天梯图,从中可以区分处理器酷睿几代的。
core文件是由应用程序收到系统信号后崩溃产生的,该文件中记录了程序崩溃的原因(例如收到那种信号),调用堆栈和崩溃时的内存及变量值等等的信息。 打开core文件与编译时使用的编译器有关,但绝大多数linux程序是使用gcc编译器编译的,因此可使用对应gdb调试器打开,命令格式如下: $ gdb 应用程序文件名 core文件名 举例: $ gdb /usr/bin/gedit ~/core ------ 查看由gedit崩溃产生的core文件 (gdb) bt ------ 或者backtrace, 查看程序运行到当前位置之前所有的堆栈帧情况) (gdb) quit ------ 退出 如果不知道core文件由哪个文件产生的,可使用file命令显示 $ file cor在Unix系统下,应用程序崩溃,一般会产生core文件,如何根据core文件查找问题的所在,并做相应的分析和调试,是非常重要的,本文对此做简单介绍。例如,一个程序cmm_test_tool在运行的时候发生了错误,并生成了一个core文件,如下:
-rw-r–r– 1 root cmm_test_toolc
-rw-r–r– 1 root
cmm_test_toolo
-rwxr-xr-x 1 root cmm_test_tool
-rw——- 1 root
core19344
-rw——- 1 root core19351
-rw-r–r– 1 root
cmm_test_toolcfg
-rw-r–r– 1 root cmm_test_toolres
-rw-r–r– 1 root
cmm_test_toollog
[root@AUTOTEST_SIM2 mam2cm]#
就可以利用命令gdb进行查找,参数一是应用程序的名称,参数二是core文件,运行
gdb
cmm_test_tool core19344结果如下:
[root@AUTOTEST_SIM2 mam2cm]# gdb cmm_test_tool core19344
GNU gdb Red Hat
Linux (521-4)
Copyright 2002 Free Software Foundation, Inc
GDB is free
software, covered by the GNU General Public License, and you are
welcome to
change it and/or distribute copies of it under certain conditions
Type “show
copying” to see the conditions
There is absolutely no warranty for GDB Type
“show warranty” for details
This GDB was configured as
“i386-redhat-linux”…
Core was generated by `/cmm_test_tool’
Program
terminated with signal 11, Segmentation fault
Reading symbols from
/lib/i686/libpthreadso0…done
Loaded symbols for
/lib/i686/libpthreadso0
Reading symbols from
/lib/i686/libmso6…done
Loaded symbols for /lib/i686/libmso6
Reading
symbols from /usr/lib/libzso1…done
Loaded symbols for
/usr/lib/libzso1
Reading symbols from
/usr/lib/libstdc++so5…done
Loaded symbols for
/usr/lib/libstdc++so5
Reading symbols from
/lib/i686/libcso6…done
Loaded symbols for /lib/i686/libcso6
Reading
symbols from /lib/libgcc_sso1…done
Loaded symbols for
/lib/libgcc_sso1
Reading symbols from /lib/ld-linuxso2…done
Loaded
symbols for /lib/ld-linuxso2
Reading symbols from
/lib/libnss_filesso2…done
Loaded symbols for /lib/libnss_filesso2
#0
0×4202cec1 in __strtoul_internal () from
/lib/i686/libcso6
(gdb)
进入gdb提示符,输入where,找到错误发生的位置和堆栈,如下:
(gdb) where
#0 0×4202cec1 in __strtoul_internal () from
/lib/i686/libcso6
#1 0×4202d4e7 in strtoul () from
/lib/i686/libcso6
#2 0×0804b4da in GetMaxIDFromDB (get_type=2,
max_id=0×806fd20) at cmm_test_toolc:788
#3 0×0804b9d7 in ConstrctVODProgram
(vod_program=0×40345bdc) at cmm_test_toolc:946
#4 0×0804a2f4 in
TVRequestThread (arg=0×0) at cmm_test_toolc:372
#5 0×40021941 in
pthread_start_thread () from /lib/i686/libpthreadso0
(gdb)
至此,可以看出文件出错的位置是函数 GetMaxIDFromDB
,两个参数分别是2和0×806fd20,这个函数位于源代码的788行,基于此,我们就可以有针对性的找到问题的根源,并加以解决。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)