Re: Crash Problem

From: Surgeon (webremedies@home.com)
Date: 12/26/00


Peter Ajamian wrote:
>
> Surgeon wrote:
> >
> > #0  0x805ef0d in perform_move (ch=0x8306db8, dir=3,
> > need_specials_check=1)
> >     at act.movement.c:262
> >
> > *act.movement.c*
> >     for (k = ch->followers; k; k = next) {
> >       next = k->next;
> >       if ((k->follower->in_room == was_in) && <- LINE 262
>
> I'm gonna guess that k->follower is not getting initialized properly
> somewhere else or that it is getting cleared somewhere else.
>
> try the following and see what it shows you...
>
> print k
> print *k
> print k->follower
> print *k->follower
> print k->follower->in_room
>
> Regards, Peter
>

Results of the above:
(gdb) print k
$1 = (struct follow_type *) 0x8313d00
(gdb) print *k
$2 = {follower = 0x0, next = 0x0}
(gdb) print k->follower
$3 = (struct char_data *) 0x0
(gdb) print *k->follower
Cannot access memory at address 0x0.
(gdb) print *k->follower
Cannot access memory at address 0x0.
(gdb) print k->follower->in_room
$4 = 0
(gdb) print was_in
$5 = 1931
(gdb) print *was_in
Cannot access memory at address 0x78b.
(gdb) print in_room
No symbol "in_room" in current context.
(gdb) print *in_room
No symbol "in_room" in current context.
(gdb)

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 04/11/01 PDT