妖城在线论坛, q- U" l; P$ `: k
The problem that no `core' file is created on a segmentation fault; Locate errors in the source with GDB and `core' files
; O' T5 w* ]2 [' E' ?+ {魔力私服,最新魔力宝贝私服技术交流Linux 程序在遇到段错误(常见的是由非法访问内存引起)的时候会产生 core 文件,如果这个程序包含调试信息(编译的时候加 -g 选项),那么使用 gdb 读取这个 core 文件可以快速定位出错的源代码。原来在某软件公司实习的时候(用 RedHat Enterprise Linux)觉得这样非常方便查错,但我自己用的 Debian GNU/Linux 却默认不生成这个文件。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! W/ J# I% n& a, J/ v0 B0 D" w2 G
检查以后发现原因是 core 文件最大尺寸(用 ulimit -c 查看)是 0,把它设置成非 0 值就可以了,如:
. }3 M7 T4 ~# Q5 k妖城在线论坛ulimit -c 2048(设置 core 文件最大尺寸为 2048 blocks,1block=512bytes,因此这里设置的其实是 1MiB)魔力私服,最新魔力宝贝私服技术交流( v" h/ U8 L4 G7 A4 B
ulimit -c unlimited(不限 core 文件尺寸)
: \$ l* d* O5 ubbs.mocwww.com附:用 gdb 根据 core dump 文件定位错误的办法。
9 g) H" i2 h) J2 h2 }' ^/ ^—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート用这个程序作一个测试:
0 J' |+ Z- C# x- g& u5 W4 a3 }% S魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表int foo (int *p)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 ]$ t2 A, h; Y
{
; S3 x& O' h$ Xbbs.mocwww.comreturn *p;—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 ]5 v+ w" t, Z, F1 J, E" z: `
}—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート z1 g/ f5 \$ G! o/ K
main()
% k' I3 J, `# f魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表{魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 N1 R" V' Q5 H' \
foo (0);妖城在线论坛5 U" \5 k O! c h4 ^2 m4 d
}6 W9 Q8 P p* ]) L7 R
derek@dli: /tmp $ gcc -g a.c—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 F& d- Z& I% `! G i9 y
derek@dli: /tmp $ ./a.out—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! g( a/ W) L! L9 Z- B1 O7 a% \
段错误 (core dumped)
$ S3 l; b9 {7 p9 ~! S& j+ A魔力私服,最新魔力宝贝私服技术交流derek@dli: /tmp $ gdb ./a.out -c corebbs.mocwww.com' `6 q$ o0 b) E/ F( {/ r! b' e
(这里略去约十行其他信息)
* u' f) z( g3 r+ S9 P1 X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表Core was generated by `./a.out'.
; c c: O5 r# o魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表Program terminated with signal 11, Segmentation fault.魔力私服,最新魔力宝贝私服技术交流3 ?6 q7 d1 @+ L, G5 V
#0 0x0804834a in foo (p=0x0) at a.c:3bbs.mocwww.com' l5 v9 o. X% w
3 return *p;bbs.mocwww.com) @+ {- c/ J7 R9 g% I
如果再输入一条命令 bt,就可以看得清清楚楚错误是在什么时机产生的:
* T' I( a5 N9 ? c5 E x2 v妖城在线论坛(gdb) bt魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 \. Y' @8 v6 |$ e# J
#0 0x0804834a in foo (p=0x0) at a.c:3魔力私服,最新魔力宝贝私服技术交流5 ?/ l" D: k" [1 P2 i9 a
#1 0x0804836b in main () at a.c:83 q" M+ k+ W3 Z) E h; d! h3 _2 R2 b
不能有比这更清楚的错误信息了!如果是在 Windows 下,就老老实实 Trace and Step 吧。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 V9 R& c) C6 y/ C. _0 s7 I
9 j! G1 X; L9 P. Z9 g0 Ubbs.mocwww.com百度知道摘的有关段错误的解释
9 X5 c n' U; V( m8 U/ z魔力私服,最新魔力宝贝私服技术交流参考一下便于理解魔力私服,最新魔力宝贝私服技术交流) h! I6 a' m% e1 @
至于出错的原因 最好贴更多的信息 上面应该还有其他错误提示才对吧! |+ E9 `7 i/ ]$ c: l4 x& {