bbs.mocwww.com. ~ u( E9 D5 b# z/ m( O
The problem that no `core' file is created on a segmentation fault; Locate errors in the source with GDB and `core' files/ M% }& { Q# o4 ]( B$ ^
Linux 程序在遇到段错误(常见的是由非法访问内存引起)的时候会产生 core 文件,如果这个程序包含调试信息(编译的时候加 -g 选项),那么使用 gdb 读取这个 core 文件可以快速定位出错的源代码。原来在某软件公司实习的时候(用 RedHat Enterprise Linux)觉得这样非常方便查错,但我自己用的 Debian GNU/Linux 却默认不生成这个文件。
; L( q' }. D( P, l6 |* P& ]检查以后发现原因是 core 文件最大尺寸(用 ulimit -c 查看)是 0,把它设置成非 0 值就可以了,如:
j& R2 i: F0 q' M* p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートulimit -c 2048(设置 core 文件最大尺寸为 2048 blocks,1block=512bytes,因此这里设置的其实是 1MiB)
$ @9 H1 i; C2 n0 x8 X* }/ T2 z5 Dbbs.mocwww.comulimit -c unlimited(不限 core 文件尺寸)
* F u9 c' a3 w: T3 Fbbs.mocwww.com附:用 gdb 根据 core dump 文件定位错误的办法。
8 f+ u5 l) M, G7 Q8 f1 L魔力私服,最新魔力宝贝私服技术交流用这个程序作一个测试:
- _& x% }3 R7 R, O6 @妖城在线论坛int foo (int *p)
+ _- O3 T, H* M( K# A妖城在线论坛{
( r3 x# B7 o5 ~ u% Vreturn *p;
% y/ m4 y1 ], _1 H) e& n* Wbbs.mocwww.com}bbs.mocwww.com l, L9 q: W% ?; {1 M, C1 v/ X/ Y5 [9 U
main()) U2 x: P& w( v) T1 {
{
, ]+ m- J% E0 k- Z6 obbs.mocwww.comfoo (0);魔力私服,最新魔力宝贝私服技术交流6 w# Z( j- A; n: z6 r/ I1 ^2 h! t
}魔力私服,最新魔力宝贝私服技术交流6 C0 B d/ T7 N m- y _. C& a1 y
derek@dli: /tmp $ gcc -g a.c—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! O% r% X) p& P& J
derek@dli: /tmp $ ./a.out
- h9 n- w3 x0 e—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート段错误 (core dumped)
3 [- Z7 \7 ^1 S% y1 h, W魔力私服,最新魔力宝贝私服技术交流derek@dli: /tmp $ gdb ./a.out -c core8 `- d" Q/ f5 x G+ Q! r& _, j! ~
(这里略去约十行其他信息)魔力私服,最新魔力宝贝私服技术交流! v- c2 \3 r* d: r' C* B/ `
Core was generated by `./a.out'.
( x. }) G, n1 D" ?7 z% Y4 _3 H魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表Program terminated with signal 11, Segmentation fault.bbs.mocwww.com7 {# J. w% i: E) n; h
#0 0x0804834a in foo (p=0x0) at a.c:3魔力私服,最新魔力宝贝私服技术交流. y1 h' q8 R/ r5 Y- P% g# T9 ?
3 return *p;
' j& v' Y" h( U: [% H魔力私服,最新魔力宝贝私服技术交流如果再输入一条命令 bt,就可以看得清清楚楚错误是在什么时机产生的:
% A+ S, g9 K! u( kbbs.mocwww.com(gdb) bt
: `# F6 T3 L3 |/ B2 l妖城在线论坛#0 0x0804834a in foo (p=0x0) at a.c:3
3 |: ^4 ^: Z1 ]" P% e魔力私服,最新魔力宝贝私服技术交流#1 0x0804836b in main () at a.c:8bbs.mocwww.com' X9 ]1 k" \- N9 s0 [# v- _
不能有比这更清楚的错误信息了!如果是在 Windows 下,就老老实实 Trace and Step 吧。
6 n! U3 l6 G9 U' m, obbs.mocwww.com魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. N- N2 H& K; Q; I6 ~; b
百度知道摘的有关段错误的解释妖城在线论坛3 Z3 y6 `7 O$ V* ^4 h
参考一下便于理解
) c8 T v9 V! g& t) `. T妖城在线论坛至于出错的原因 最好贴更多的信息 上面应该还有其他错误提示才对吧魔力私服,最新魔力宝贝私服技术交流1 Y3 x9 n6 n$ q0 s