3 j# x5 C8 Y1 V8 r6 P2 ?4 J" O魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表The problem that no `core' file is created on a segmentation fault; Locate errors in the source with GDB and `core' filesbbs.mocwww.com K+ H/ ?% M0 M; J, @
Linux 程序在遇到段错误(常见的是由非法访问内存引起)的时候会产生 core 文件,如果这个程序包含调试信息(编译的时候加 -g 选项),那么使用 gdb 读取这个 core 文件可以快速定位出错的源代码。原来在某软件公司实习的时候(用 RedHat Enterprise Linux)觉得这样非常方便查错,但我自己用的 Debian GNU/Linux 却默认不生成这个文件。
4 g6 ?) \, c+ y) T0 }4 B6 xbbs.mocwww.com检查以后发现原因是 core 文件最大尺寸(用 ulimit -c 查看)是 0,把它设置成非 0 值就可以了,如:魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ ^3 O. M/ {- \$ Z. m
ulimit -c 2048(设置 core 文件最大尺寸为 2048 blocks,1block=512bytes,因此这里设置的其实是 1MiB)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ U" `2 t/ T6 E* H- F5 j9 @
ulimit -c unlimited(不限 core 文件尺寸)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. i4 {& y& w' f3 H2 P9 E
附:用 gdb 根据 core dump 文件定位错误的办法。魔力私服,最新魔力宝贝私服技术交流 O" L( h' b0 D: | S
用这个程序作一个测试:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ F$ u8 \# T. P. }6 e/ ^
int foo (int *p)魔力私服,最新魔力宝贝私服技术交流( K j8 Z) D3 G3 D% n
{魔力私服,最新魔力宝贝私服技术交流& G2 y; o7 k& ?! T6 o4 ~6 e
return *p;魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% c, F1 [# `! Y2 e) b' F
}—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 M! B! H E0 [8 T
main()
1 F2 b; ]* H, y+ f0 l5 {1 Q妖城在线论坛{—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" q! t8 a, s5 n
foo (0);—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. S7 P" ^' ~; g# K9 ^& V: I2 F7 J
}魔力私服,最新魔力宝贝私服技术交流' G4 r) Q& t2 c) B7 Z" P. f
derek@dli: /tmp $ gcc -g a.c魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- @+ f$ o3 N5 R1 k% w9 M% I
derek@dli: /tmp $ ./a.out魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& F$ V$ C: i! D# ~
段错误 (core dumped)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! n8 L$ ]0 n( H
derek@dli: /tmp $ gdb ./a.out -c core
) k0 K8 M6 s2 U$ }5 Q(这里略去约十行其他信息)bbs.mocwww.com% n6 e& z( P9 Q4 n
Core was generated by `./a.out'.* W% ?7 n- A7 y$ {4 Y1 x3 Y
Program terminated with signal 11, Segmentation fault.
z' E# r l( \" w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表#0 0x0804834a in foo (p=0x0) at a.c:3
( m; K) } V/ P9 [. |' n( ~魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 return *p;
! A6 Y2 T4 k' m S妖城在线论坛如果再输入一条命令 bt,就可以看得清清楚楚错误是在什么时机产生的:
1 Q/ W. m' ?" c$ |& {! k% S/ ~—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート(gdb) bt魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 @2 F/ u! [0 ~( u0 B' B! Z8 O U
#0 0x0804834a in foo (p=0x0) at a.c:3—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; W% y9 f7 u, a% t) f7 ^6 V3 q- A
#1 0x0804836b in main () at a.c:8—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 D, v! L' M5 M6 M( h
不能有比这更清楚的错误信息了!如果是在 Windows 下,就老老实实 Trace and Step 吧。
- [( v" p7 A1 F, V% h3 z1 l魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
( H' p6 B3 W/ T0 D' ?0 j6 Z* q" L—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート百度知道摘的有关段错误的解释
5 l) {+ n8 s) c) `/ o! ^' H: z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート参考一下便于理解魔力私服,最新魔力宝贝私服技术交流/ Y9 p+ j! A& l1 U& y# Y. [) w! H
至于出错的原因 最好贴更多的信息 上面应该还有其他错误提示才对吧
: d, O0 J6 O% S* v7 Wbbs.mocwww.com