u) E$ o( L7 j' H( w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表The problem that no `core' file is created on a segmentation fault; Locate errors in the source with GDB and `core' files
" O4 L' S S* ]7 ]魔力私服,最新魔力宝贝私服技术交流Linux 程序在遇到段错误(常见的是由非法访问内存引起)的时候会产生 core 文件,如果这个程序包含调试信息(编译的时候加 -g 选项),那么使用 gdb 读取这个 core 文件可以快速定位出错的源代码。原来在某软件公司实习的时候(用 RedHat Enterprise Linux)觉得这样非常方便查错,但我自己用的 Debian GNU/Linux 却默认不生成这个文件。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: _8 b5 R8 a7 F1 c# _
检查以后发现原因是 core 文件最大尺寸(用 ulimit -c 查看)是 0,把它设置成非 0 值就可以了,如:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 ?& I1 i# ~$ b8 y9 j
ulimit -c 2048(设置 core 文件最大尺寸为 2048 blocks,1block=512bytes,因此这里设置的其实是 1MiB)
p3 T. t- A) h k$ _' c妖城在线论坛ulimit -c unlimited(不限 core 文件尺寸)
# m! }3 O$ `# v' R) ]. t# c7 K/ P附:用 gdb 根据 core dump 文件定位错误的办法。
2 n& p) U' _3 M- p# k1 i: t, _& K妖城在线论坛用这个程序作一个测试:
. ?$ N1 n- t6 X3 ]魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表int foo (int *p)
3 J/ {7 C! t/ i ?) I1 M8 Sbbs.mocwww.com{妖城在线论坛! g$ M6 G% p5 {' n: H+ m
return *p;妖城在线论坛( W& L r9 f# s7 _
}—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) y+ m# b7 _, s9 R9 T
main()
0 s& J. s8 v- a% W+ B A—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート{
8 h4 p4 S2 q k) c9 |+ D8 J+ Q" H—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートfoo (0);魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# W5 y" D1 p4 `( Q
}
! R Y- _9 T6 F' I$ T# k妖城在线论坛derek@dli: /tmp $ gcc -g a.c魔力私服,最新魔力宝贝私服技术交流, \8 f: v5 f8 u! N% ?5 }/ ^
derek@dli: /tmp $ ./a.out—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 W- y! i5 N) N; [. r7 v; h3 r
段错误 (core dumped)& W$ o7 e' \* p, F0 ]; C) l$ S1 N6 Y
derek@dli: /tmp $ gdb ./a.out -c core
g+ s# w/ n" l: E* Ybbs.mocwww.com(这里略去约十行其他信息)2 L7 ~9 A( U: ^ W& A% ]
Core was generated by `./a.out'.魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 x1 j/ ~ S+ D4 l0 A. F/ I
Program terminated with signal 11, Segmentation fault.
' C- n! c6 A- S/ E( G#0 0x0804834a in foo (p=0x0) at a.c:3魔力私服,最新魔力宝贝私服技术交流. A3 R. f+ c) W9 n; l8 o# o S
3 return *p;
- K: d4 u2 z7 m; W1 D2 l- ubbs.mocwww.com如果再输入一条命令 bt,就可以看得清清楚楚错误是在什么时机产生的:bbs.mocwww.com7 l4 h1 H' D/ m7 B J# a
(gdb) bt魔力私服,最新魔力宝贝私服技术交流* }7 d: ?; L7 r5 q
#0 0x0804834a in foo (p=0x0) at a.c:3
V' {$ H% v# p5 r0 o6 f6 J: {魔力私服,最新魔力宝贝私服技术交流#1 0x0804836b in main () at a.c:8魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ ~) c9 {9 @+ T1 p' c
不能有比这更清楚的错误信息了!如果是在 Windows 下,就老老实实 Trace and Step 吧。—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 G* x5 {' c5 g9 v% {3 p2 @# W! e
j2 Q6 }3 e" a4 L1 ]bbs.mocwww.com百度知道摘的有关段错误的解释
, z( ]' {9 ~; j( [bbs.mocwww.com参考一下便于理解
4 Z" q* p7 Z# }+ v魔力私服,最新魔力宝贝私服技术交流至于出错的原因 最好贴更多的信息 上面应该还有其他错误提示才对吧
) W+ n l# I" S9 k2 c$ U3 L5 n( l! R魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表