发新话题
打印

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

—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 L2 H' T9 N/ _" O3 |
The problem that no `core' file is created on a segmentation fault; Locate errors in the source with GDB and `core' files
. i7 S1 N4 E* m: b9 |  pbbs.mocwww.comLinux 程序在遇到段错误(常见的是由非法访问内存引起)的时候会产生 core 文件,如果这个程序包含调试信息(编译的时候加 -g 选项),那么使用 gdb 读取这个 core 文件可以快速定位出错的源代码。原来在某软件公司实习的时候(用 RedHat Enterprise Linux)觉得这样非常方便查错,但我自己用的 Debian GNU/Linux 却默认不生成这个文件。- [' q7 ^3 t8 }; c! x0 {2 v- C6 ~
检查以后发现原因是 core 文件最大尺寸(用 ulimit -c 查看)是 0,把它设置成非 0 值就可以了,如:
% ?$ h2 {! y  \) c妖城在线论坛ulimit -c 2048(设置 core 文件最大尺寸为 2048 blocks,1block=512bytes,因此这里设置的其实是 1MiB)
0 f# ^) [1 u  ~ulimit -c unlimited(不限 core 文件尺寸)
; R) r) t  y' k2 G4 U: z( W2 q# u魔力私服,最新魔力宝贝私服技术交流附:用 gdb 根据 core dump 文件定位错误的办法。
: ]5 r$ f8 M% D) }/ u魔力私服,最新魔力宝贝私服技术交流用这个程序作一个测试:bbs.mocwww.com2 W- Z  _: c% P6 w: y
int foo (int *p)魔力私服,最新魔力宝贝私服技术交流5 d, a5 f% b$ E) g$ y) ^% r3 V
{魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: U- J+ [5 e. g0 v
return *p;魔力私服,最新魔力宝贝私服技术交流* e( M0 x8 {+ _, W
}
! W0 B* c/ K. b9 a( F8 x" Z& v1 B8 t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートmain()1 R. z: D: G* J  Q5 g
{* I" @& m  {0 V) A5 @& p
foo (0);妖城在线论坛* \4 v  V8 E3 y+ G8 @7 Z
}
- ?7 `6 {! v" P6 Uderek@dli: /tmp $ gcc -g a.c魔力私服,最新魔力宝贝私服技术交流1 J+ m- c! @; d3 t- t: h& @
derek@dli: /tmp $ ./a.out
9 P* }" _8 L$ e8 n& T4 q+ l魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表段错误 (core dumped)
2 E- t+ K; V5 q: U魔力私服,最新魔力宝贝私服技术交流derek@dli: /tmp $ gdb ./a.out -c corebbs.mocwww.com: j9 }% \2 c6 c. c
(这里略去约十行其他信息)1 A- A  I' z, ^. I
Core was generated by `./a.out'.
" G4 `/ [0 w* D6 D! Hbbs.mocwww.comProgram terminated with signal 11, Segmentation fault.
: i6 e& T# W% g* ~  y6 `' \0 fbbs.mocwww.com#0 0x0804834a in foo (p=0x0) at a.c:3
, ~. n+ e; ]- `4 d: G5 N5 |: obbs.mocwww.com3 return *p;
8 N+ Z! A3 e  L8 `- i% m8 _. S妖城在线论坛如果再输入一条命令 bt,就可以看得清清楚楚错误是在什么时机产生的:妖城在线论坛  v/ [+ P$ D% q* y1 r  w$ w' o
(gdb) bt魔力私服,最新魔力宝贝私服技术交流( Q0 i% L  X# I6 O/ J5 W
#0 0x0804834a in foo (p=0x0) at a.c:3
* e* w7 r/ z: @4 b" K魔力私服,最新魔力宝贝私服技术交流#1 0x0804836b in main () at a.c:8bbs.mocwww.com1 [2 K* g+ m; [+ p+ y
不能有比这更清楚的错误信息了!如果是在 Windows 下,就老老实实 Trace and Step 吧。
$ a. T7 ]0 |/ X. E- X; p$ j: _
2 y( b0 b& N2 ~/ C9 y% m- u
百度知道摘的有关段错误的解释—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 M& L' {2 f, {/ _; f) P2 G% w
参考一下便于理解妖城在线论坛! X4 T+ Z  I+ d3 u9 ?3 Z4 i0 V
至于出错的原因 最好贴更多的信息 上面应该还有其他错误提示才对吧妖城在线论坛4 n0 }8 |( x. {- S- ?2 t' ^

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

TOP

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

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

TOP

发新话题