' B- g" }: |+ r' `7 {魔力私服,最新魔力宝贝私服技术交流The problem that no `core' file is created on a segmentation fault; Locate errors in the source with GDB and `core' files
. c! v4 ]& ~% Q& C* M( Y/ q N妖城在线论坛Linux 程序在遇到段错误(常见的是由非法访问内存引起)的时候会产生 core 文件,如果这个程序包含调试信息(编译的时候加 -g 选项),那么使用 gdb 读取这个 core 文件可以快速定位出错的源代码。原来在某软件公司实习的时候(用 RedHat Enterprise Linux)觉得这样非常方便查错,但我自己用的 Debian GNU/Linux 却默认不生成这个文件。妖城在线论坛; ^7 y9 X: \4 Y
检查以后发现原因是 core 文件最大尺寸(用 ulimit -c 查看)是 0,把它设置成非 0 值就可以了,如:
+ n9 |: ^8 z% K& x0 V—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートulimit -c 2048(设置 core 文件最大尺寸为 2048 blocks,1block=512bytes,因此这里设置的其实是 1MiB)妖城在线论坛1 _+ p$ D: {% X1 T) S- B
ulimit -c unlimited(不限 core 文件尺寸)bbs.mocwww.com" F) ?( L" P4 H
附:用 gdb 根据 core dump 文件定位错误的办法。魔力私服,最新魔力宝贝私服技术交流, n' o: F- \8 ^4 l
用这个程序作一个测试:魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 q8 b$ v) q1 [) m& ]5 }2 u
int foo (int *p)bbs.mocwww.com8 `2 j0 ?, O6 h
{
0 Q( K1 a/ E& G) _2 ?" \5 d" @return *p;
& W0 i8 x3 `2 x! e$ x/ C; p魔力私服,最新魔力宝贝私服技术交流}
0 L7 Z9 a1 M5 e4 |main()
3 ~6 G2 A7 s" N8 U* `( `魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表{魔力私服,最新魔力宝贝私服技术交流5 h" s; O( j9 S: o) [7 {
foo (0);
0 J" ] w/ e0 o+ f魔力私服,最新魔力宝贝私服技术交流}
* J- f; U* n6 z7 n1 A) {妖城在线论坛derek@dli: /tmp $ gcc -g a.c—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. t) Y$ o- K( O8 G2 N0 D' @
derek@dli: /tmp $ ./a.out
3 ` |1 a( d0 V6 G- q妖城在线论坛段错误 (core dumped)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; r t. h$ t: O: F( k: J1 ]$ D
derek@dli: /tmp $ gdb ./a.out -c core
9 d% `- c* w. i$ t8 H% d: B魔力私服,最新魔力宝贝私服技术交流(这里略去约十行其他信息)
& w7 V8 q7 J3 V0 V! I妖城在线论坛Core was generated by `./a.out'.bbs.mocwww.com* `, C& |' Q, ?: q2 T! _
Program terminated with signal 11, Segmentation fault.—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) r2 ^( E7 y: y9 b
#0 0x0804834a in foo (p=0x0) at a.c:3魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: y. R+ q8 S# J; [
3 return *p;
0 ^4 g* r* x N: [/ E8 ^魔力私服,最新魔力宝贝私服技术交流如果再输入一条命令 bt,就可以看得清清楚楚错误是在什么时机产生的:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 W& t4 m- f3 k- J
(gdb) bt
# k; w7 S! e+ n1 M% t; k6 jbbs.mocwww.com#0 0x0804834a in foo (p=0x0) at a.c:3魔力私服,最新魔力宝贝私服技术交流# q4 ~& C2 H3 l1 z: ]! [4 ?4 G
#1 0x0804836b in main () at a.c:8—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" W4 W% E2 U: |2 w0 X9 o
不能有比这更清楚的错误信息了!如果是在 Windows 下,就老老实实 Trace and Step 吧。
, N- p4 T) X Z2 { X9 ~+ g* K妖城在线论坛魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( @4 v. X+ _9 c' B8 [
百度知道摘的有关段错误的解释
8 H- \, ]( z& [ i妖城在线论坛参考一下便于理解魔力私服,最新魔力宝贝私服技术交流' e3 c2 i q: g1 F
至于出错的原因 最好贴更多的信息 上面应该还有其他错误提示才对吧魔力私服,最新魔力宝贝私服技术交流5 ?4 B' k! m& R( K1 N! p+ Q i. C1 F