魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 ~% G/ d# e6 f6 z
The problem that no `core' file is created on a segmentation fault; Locate errors in the source with GDB and `core' files
' _8 N1 B' I( ]% e9 L魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表Linux 程序在遇到段错误(常见的是由非法访问内存引起)的时候会产生 core 文件,如果这个程序包含调试信息(编译的时候加 -g 选项),那么使用 gdb 读取这个 core 文件可以快速定位出错的源代码。原来在某软件公司实习的时候(用 RedHat Enterprise Linux)觉得这样非常方便查错,但我自己用的 Debian GNU/Linux 却默认不生成这个文件。8 n7 b' V! Z$ B" F
检查以后发现原因是 core 文件最大尺寸(用 ulimit -c 查看)是 0,把它设置成非 0 值就可以了,如:
6 {& s1 R% U) i1 s3 ^3 [- Culimit -c 2048(设置 core 文件最大尺寸为 2048 blocks,1block=512bytes,因此这里设置的其实是 1MiB)bbs.mocwww.com. G& W) ~5 h% u8 J. ^5 G. v* j# c2 [
ulimit -c unlimited(不限 core 文件尺寸)
! K: w3 N0 G& ? {0 Q; q+ q附:用 gdb 根据 core dump 文件定位错误的办法。
% K3 _1 {0 R* Z) z; `# E" G* T$ p妖城在线论坛用这个程序作一个测试:
3 E7 l- H9 w/ {0 k& F魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表int foo (int *p)
1 r1 a! o/ @& H魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表{
u( h+ D5 n yreturn *p;魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 x' o$ g5 L! w; H
}魔力私服,最新魔力宝贝私服技术交流4 j d {' F$ w: q
main()
5 q( `% i* E; k Z$ S5 U妖城在线论坛{魔力私服,最新魔力宝贝私服技术交流% U) f' S8 V. y# V% @- o
foo (0);
, v# J% Z9 P$ q5 F8 Rbbs.mocwww.com}魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 H& T! F& H0 x- T) B" t3 j
derek@dli: /tmp $ gcc -g a.cbbs.mocwww.com, j4 M5 [; y" A* }! h
derek@dli: /tmp $ ./a.out
4 U- p2 |9 x& G& Y& K魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表段错误 (core dumped)
7 k' E; U, G7 [& n1 w% o—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートderek@dli: /tmp $ gdb ./a.out -c core
3 @1 M3 r8 W; G(这里略去约十行其他信息)
7 [1 y4 t+ g- V; n* |* G% t7 N9 s0 e魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表Core was generated by `./a.out'.
1 \4 b+ p1 @: p+ [$ U7 l6 J, C4 S妖城在线论坛Program terminated with signal 11, Segmentation fault.
( Z! E0 t+ ~; q妖城在线论坛#0 0x0804834a in foo (p=0x0) at a.c:3妖城在线论坛1 C# O, h* m0 ]/ _4 u! C
3 return *p;—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート U( l w" G" P0 E' X+ v' p
如果再输入一条命令 bt,就可以看得清清楚楚错误是在什么时机产生的:
, h; K( K2 z# @' o( g(gdb) bt
7 t% H' X7 p. { |; r#0 0x0804834a in foo (p=0x0) at a.c:3
6 E8 t( `$ |) n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表#1 0x0804836b in main () at a.c:8
* _8 H( w5 c- S; p3 C/ M! V2 s妖城在线论坛不能有比这更清楚的错误信息了!如果是在 Windows 下,就老老实实 Trace and Step 吧。
: {5 [. T" k7 G魔力私服,最新魔力宝贝私服技术交流
# {$ Q2 U( h# o& P1 Y4 K4 H! A! Mbbs.mocwww.com百度知道摘的有关段错误的解释魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 v. f5 t6 c$ \$ G$ f
参考一下便于理解
/ P* W" a4 \8 Mbbs.mocwww.com至于出错的原因 最好贴更多的信息 上面应该还有其他错误提示才对吧; T' P9 T% C0 O1 E' x