—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 w" c+ [5 P t3 x' D
The problem that no `core' file is created on a segmentation fault; Locate errors in the source with GDB and `core' files妖城在线论坛+ E3 V- B: Q2 f, n7 K' `
Linux 程序在遇到段错误(常见的是由非法访问内存引起)的时候会产生 core 文件,如果这个程序包含调试信息(编译的时候加 -g 选项),那么使用 gdb 读取这个 core 文件可以快速定位出错的源代码。原来在某软件公司实习的时候(用 RedHat Enterprise Linux)觉得这样非常方便查错,但我自己用的 Debian GNU/Linux 却默认不生成这个文件。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& ]% R1 {; ]- K& a8 A/ [
检查以后发现原因是 core 文件最大尺寸(用 ulimit -c 查看)是 0,把它设置成非 0 值就可以了,如:
, G$ e. L; G1 [" O. l) K c魔力私服,最新魔力宝贝私服技术交流ulimit -c 2048(设置 core 文件最大尺寸为 2048 blocks,1block=512bytes,因此这里设置的其实是 1MiB)魔力私服,最新魔力宝贝私服技术交流+ {, r. D$ I, Q1 J
ulimit -c unlimited(不限 core 文件尺寸)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- d6 S9 ]2 t/ Z2 Y( A
附:用 gdb 根据 core dump 文件定位错误的办法。
3 e2 f1 R8 _6 }! ?魔力私服,最新魔力宝贝私服技术交流用这个程序作一个测试:
0 h: i' t% O0 a0 D" Q/ a4 g& P魔力私服,最新魔力宝贝私服技术交流int foo (int *p)魔力私服,最新魔力宝贝私服技术交流 ^1 e b4 X, d& l2 c* N$ ~6 N, F
{
9 K5 _1 h6 d; i1 V$ X/ A魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表return *p;妖城在线论坛# ^4 q, ]+ |5 o# p
}
7 G5 V: m a3 o F' v7 B魔力私服,最新魔力宝贝私服技术交流main()bbs.mocwww.com4 g2 ^! v# r' V) j
{
) d; k J" l0 v5 \% D' v# I1 X—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートfoo (0);
! R! o4 w0 `9 ]. ~—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート}
$ P C4 f0 y& I3 bderek@dli: /tmp $ gcc -g a.c
x0 b3 ?! j1 S t$ z: {5 ^) N0 x( [妖城在线论坛derek@dli: /tmp $ ./a.out
2 e/ u, A, e/ V5 H5 X0 [9 ?魔力私服,最新魔力宝贝私服技术交流段错误 (core dumped)
! d* A7 v" H9 y2 `; f# Q+ ~7 r妖城在线论坛derek@dli: /tmp $ gdb ./a.out -c core
9 t u3 X% \1 W# x2 g5 R: I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表(这里略去约十行其他信息)
" e0 _+ M, j/ W2 r: f) abbs.mocwww.comCore was generated by `./a.out'.—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, t. S3 o8 l) v6 j1 P; h# p A
Program terminated with signal 11, Segmentation fault.
' R) v8 T* O Sbbs.mocwww.com#0 0x0804834a in foo (p=0x0) at a.c:3
; q4 l7 k: s' U' A1 U1 Nbbs.mocwww.com3 return *p;
" g! s# n5 s4 s7 G7 B/ n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表如果再输入一条命令 bt,就可以看得清清楚楚错误是在什么时机产生的:
( |4 ^& n' A6 Q* g- k魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表(gdb) bt
4 c) S g4 M8 [: k1 [9 {: P魔力私服,最新魔力宝贝私服技术交流#0 0x0804834a in foo (p=0x0) at a.c:3
' b V7 r/ e6 o6 }# H" O! c—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート#1 0x0804836b in main () at a.c:8—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( l4 @/ A6 B' e, `
不能有比这更清楚的错误信息了!如果是在 Windows 下,就老老实实 Trace and Step 吧。
& T9 r2 {! f6 h" r& L' E: d3 W7 ^妖城在线论坛
& {$ c* o' f+ e3 S9 s. `5 J3 i魔力私服,最新魔力宝贝私服技术交流百度知道摘的有关段错误的解释
$ }- C3 T0 X. ^& P2 A; {/ B, f- B. Zbbs.mocwww.com参考一下便于理解魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( \! }7 i" \+ n8 l4 N- H, s* g
至于出错的原因 最好贴更多的信息 上面应该还有其他错误提示才对吧bbs.mocwww.com! F% M" L$ ~ |; O* J/ I9 A