妖城在线论坛6 N9 _1 c9 ^! v5 b# } N& R* ]
The problem that no `core' file is created on a segmentation fault; Locate errors in the source with GDB and `core' files
* K) C2 l. Z4 Y' `魔力私服,最新魔力宝贝私服技术交流Linux 程序在遇到段错误(常见的是由非法访问内存引起)的时候会产生 core 文件,如果这个程序包含调试信息(编译的时候加 -g 选项),那么使用 gdb 读取这个 core 文件可以快速定位出错的源代码。原来在某软件公司实习的时候(用 RedHat Enterprise Linux)觉得这样非常方便查错,但我自己用的 Debian GNU/Linux 却默认不生成这个文件。
2 W9 h. s* v2 Y+ y! _$ E: [魔力私服,最新魔力宝贝私服技术交流检查以后发现原因是 core 文件最大尺寸(用 ulimit -c 查看)是 0,把它设置成非 0 值就可以了,如:
( L3 E% {3 F6 V3 ^5 p% p7 {& t, Culimit -c 2048(设置 core 文件最大尺寸为 2048 blocks,1block=512bytes,因此这里设置的其实是 1MiB)% Y6 w* l/ G; B8 ]' }- P0 V: ]
ulimit -c unlimited(不限 core 文件尺寸)
$ N$ f5 l5 f5 P8 bbbs.mocwww.com附:用 gdb 根据 core dump 文件定位错误的办法。
6 v2 x, s7 n+ }bbs.mocwww.com用这个程序作一个测试:
: n* w6 b2 I/ `1 O9 J妖城在线论坛int foo (int *p)
2 `2 I8 C& z) V: h& R7 Ibbs.mocwww.com{
# K, l: K, B/ N$ E9 Preturn *p;
) r+ v. |7 m: S( r—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート}
6 \) d* d* Z+ L/ Y+ [魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表main()
" e U! J4 i) p( H1 l/ y& X妖城在线论坛{
, {: Z, r: `# L—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートfoo (0);/ Q* a& y4 f' \. i( p( h
}妖城在线论坛3 H( T p4 F' h, l5 \8 I
derek@dli: /tmp $ gcc -g a.c4 G4 b& p5 W& ~# J
derek@dli: /tmp $ ./a.out* @9 P) }8 w7 h/ `+ t
段错误 (core dumped)
3 `& r& C9 f; V: s魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表derek@dli: /tmp $ gdb ./a.out -c core
: L; T8 K6 Z7 f2 a0 ~' G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表(这里略去约十行其他信息)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% P! O4 i: @! p1 ~' e4 F0 s
Core was generated by `./a.out'.妖城在线论坛! D$ ^9 e5 A6 ^' [
Program terminated with signal 11, Segmentation fault./ r# o2 X, j% [$ c
#0 0x0804834a in foo (p=0x0) at a.c:3
7 |( y1 c: I5 F0 g6 ^% ]—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 return *p;bbs.mocwww.com9 N, f2 K! ~8 J2 E
如果再输入一条命令 bt,就可以看得清清楚楚错误是在什么时机产生的:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 x1 `/ g8 {! Y- x
(gdb) bt妖城在线论坛6 H y6 ~$ ]5 t3 t
#0 0x0804834a in foo (p=0x0) at a.c:3
1 o# _. ~1 _0 h) b" C魔力私服,最新魔力宝贝私服技术交流#1 0x0804836b in main () at a.c:8
% t+ R" C6 [, x' Q& D' Z% q% W3 F魔力私服,最新魔力宝贝私服技术交流不能有比这更清楚的错误信息了!如果是在 Windows 下,就老老实实 Trace and Step 吧。
- u% M3 s* O* E2 F- x/ u魔力私服,最新魔力宝贝私服技术交流
& F1 G/ E$ A9 Q6 q百度知道摘的有关段错误的解释
" z, V! W: N( T* j D8 _魔力私服,最新魔力宝贝私服技术交流参考一下便于理解
+ y \3 [8 Z4 l/ a6 T魔力私服,最新魔力宝贝私服技术交流至于出错的原因 最好贴更多的信息 上面应该还有其他错误提示才对吧* i4 N+ ?3 m3 e# f: Q7 j j