; v1 z5 p4 |- F: v; g魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表The problem that no `core' file is created on a segmentation fault; Locate errors in the source with GDB and `core' files
0 k& h* E* g/ T. h2 f魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表Linux 程序在遇到段错误(常见的是由非法访问内存引起)的时候会产生 core 文件,如果这个程序包含调试信息(编译的时候加 -g 选项),那么使用 gdb 读取这个 core 文件可以快速定位出错的源代码。原来在某软件公司实习的时候(用 RedHat Enterprise Linux)觉得这样非常方便查错,但我自己用的 Debian GNU/Linux 却默认不生成这个文件。
j( q$ X- k, X5 Y# s% @, Y) k魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表检查以后发现原因是 core 文件最大尺寸(用 ulimit -c 查看)是 0,把它设置成非 0 值就可以了,如:
; f, a, H+ h+ Q6 a8 @. I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表ulimit -c 2048(设置 core 文件最大尺寸为 2048 blocks,1block=512bytes,因此这里设置的其实是 1MiB)
: e( h' T2 h# v: l. v/ ?魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表ulimit -c unlimited(不限 core 文件尺寸)
# F4 S) i) g' a0 I: T' \! h. f妖城在线论坛附:用 gdb 根据 core dump 文件定位错误的办法。
) @" W7 S% n5 Z4 c4 X, s. q! {; Y7 Zbbs.mocwww.com用这个程序作一个测试:
3 t# f) R% q% {. ?# {妖城在线论坛int foo (int *p)妖城在线论坛" N) x# d. Y3 C+ A
{- e; T) \. w r' D# N7 R
return *p;魔力私服,最新魔力宝贝私服技术交流% y! |" o- d: a/ J% F2 i4 a
}
. I- w# G, q% t+ C+ x) s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートmain()
( i" G- R' W/ I, y7 }5 L# G$ F+ T魔力私服,最新魔力宝贝私服技术交流{
, z% u) P' A. k! V) l% y. I! ~妖城在线论坛foo (0);
- n( g1 G& b$ D& O5 D魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表}魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 i( ]& j! ^% q
derek@dli: /tmp $ gcc -g a.c妖城在线论坛+ L% J$ m D# d2 g0 W; f1 P9 p
derek@dli: /tmp $ ./a.out
4 c5 f; S; P. A4 K/ c! t4 W, u- @段错误 (core dumped)
4 `3 C0 _7 c% d, k—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートderek@dli: /tmp $ gdb ./a.out -c core
, a$ W. U0 r! P8 }—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート(这里略去约十行其他信息)
, Q' Y# E3 B3 y! C. h- X) Cbbs.mocwww.comCore was generated by `./a.out'.
* X' S; L, f1 \7 E2 i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートProgram terminated with signal 11, Segmentation fault., n0 U# k: z* x" G# u4 N/ g; ?
#0 0x0804834a in foo (p=0x0) at a.c:3
& }. L# n0 Z5 ]- Y! x妖城在线论坛3 return *p;
1 c9 h! X5 P; M8 A魔力私服,最新魔力宝贝私服技术交流如果再输入一条命令 bt,就可以看得清清楚楚错误是在什么时机产生的:魔力私服,最新魔力宝贝私服技术交流9 `: o; K) B- m1 Q0 @
(gdb) bt魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 g1 ^6 c. }+ }8 y4 A
#0 0x0804834a in foo (p=0x0) at a.c:3+ N O! y# S2 w+ U& o
#1 0x0804836b in main () at a.c:8
6 P |7 V. d! d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート不能有比这更清楚的错误信息了!如果是在 Windows 下,就老老实实 Trace and Step 吧。bbs.mocwww.com) @! p4 j6 k" l6 {8 q$ |! i: q
- o6 Z: Q3 i! c( I0 M7 {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表百度知道摘的有关段错误的解释
1 U. q P8 N2 {+ }) i5 r0 z参考一下便于理解
, B+ _5 t+ C( V4 }! F0 @4 k—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート至于出错的原因 最好贴更多的信息 上面应该还有其他错误提示才对吧魔力私服,最新魔力宝贝私服技术交流' v/ S3 l* S, r4 y