发新话题
打印

[提问] 运行gmsv时出现奇怪的错误

2 n0 N" b: [& R8 ?( K. [% l) T9 U
The problem that no `core' file is created on a segmentation fault; Locate errors in the source with GDB and `core' files—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, Z# C5 [# z4 @
Linux 程序在遇到段错误(常见的是由非法访问内存引起)的时候会产生 core 文件,如果这个程序包含调试信息(编译的时候加 -g 选项),那么使用 gdb 读取这个 core 文件可以快速定位出错的源代码。原来在某软件公司实习的时候(用 RedHat Enterprise Linux)觉得这样非常方便查错,但我自己用的 Debian GNU/Linux 却默认不生成这个文件。
4 b  N% u1 |% ]魔力私服,最新魔力宝贝私服技术交流检查以后发现原因是 core 文件最大尺寸(用 ulimit -c 查看)是 0,把它设置成非 0 值就可以了,如:
% X' e3 O% N, {. a" pulimit -c 2048(设置 core 文件最大尺寸为 2048 blocks,1block=512bytes,因此这里设置的其实是 1MiB)—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& Q& o7 _+ {$ D4 K
ulimit -c unlimited(不限 core 文件尺寸)
! \2 C; W* B% v; J) O0 X; C! y! q- B5 c魔力私服,最新魔力宝贝私服技术交流附:用 gdb 根据 core dump 文件定位错误的办法。0 H' Q8 H8 L8 D& n7 V  }
用这个程序作一个测试:妖城在线论坛# E3 _* D" H, S1 o. k% P1 w
int foo (int *p)
0 U9 l4 y. F* B9 L. `2 Nbbs.mocwww.com{—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! t& {9 I  }# w% D
return *p;
/ ~3 T7 i& m) z9 E/ a" \0 X" @}$ e  d4 Q4 P, R5 k/ u3 V
main()
1 ^' }. M/ q6 `4 L9 O; v3 x# Y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表{
8 G' i: u9 }7 @% t. y5 ?5 W3 vbbs.mocwww.comfoo (0);妖城在线论坛3 s- e" }1 u+ e
}
) w8 z9 [9 t. sbbs.mocwww.comderek@dli: /tmp $ gcc -g a.c
9 j) i7 t  W6 N* F: H# {derek@dli: /tmp $ ./a.out
6 G3 t$ j' H5 O/ k. [—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート段错误 (core dumped)
5 J# Z, H2 z; I6 P' W/ [% Z! @魔力私服,最新魔力宝贝私服技术交流derek@dli: /tmp $ gdb ./a.out -c corebbs.mocwww.com. t5 x/ _6 g  o
(这里略去约十行其他信息)魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. R& K; j; l! \3 T; q! O$ U
Core was generated by `./a.out'.
/ u3 S; |$ f4 _2 L$ e2 T( y) yProgram terminated with signal 11, Segmentation fault.. z8 _/ m5 W5 N4 d- N3 w
#0 0x0804834a in foo (p=0x0) at a.c:3魔力私服,最新魔力宝贝私服技术交流( ^$ a+ |) x3 v8 f
3 return *p;
5 z4 D% |  i7 w( j, ]+ a8 d—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート如果再输入一条命令 bt,就可以看得清清楚楚错误是在什么时机产生的:
/ q4 A& J  l6 l6 X) C5 a妖城在线论坛(gdb) bt
. f- H8 e. z4 `7 h3 y. }bbs.mocwww.com#0 0x0804834a in foo (p=0x0) at a.c:33 j* b& W: K) a/ P
#1 0x0804836b in main () at a.c:8—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ Y& s, q: w0 o3 a) G
不能有比这更清楚的错误信息了!如果是在 Windows 下,就老老实实 Trace and Step 吧。魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 w9 q3 ]$ r* b

/ g# i# i% X1 `3 [1 t0 ]妖城在线论坛百度知道摘的有关段错误的解释
" Q( J* v6 g8 x# T8 _参考一下便于理解
  ^1 r# T. u$ ^6 s6 Q+ a  i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート至于出错的原因 最好贴更多的信息 上面应该还有其他错误提示才对吧
& f) i+ I9 n0 L! Z, g2 z8 n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表

在我今日的悲伤里,最为苦涩的是我昨日欢乐的回忆。

TOP

嗯  你的系统是什么发行版?

在我今日的悲伤里,最为苦涩的是我昨日欢乐的回忆。

TOP

发新话题