A bug in symbol loading in winedbg

Shachar Shemesh wine-devel at shemesh.biz
Sat Jun 12 15:57:01 CDT 2004


Eric Pouech wrote:

> Shachar Shemesh a écrit :
>
>> What do you mean by "I don't need to use the S: directory"?
>
> I thought you needed the S: dir for the PDB reading (in fact, you seem 
> to, rightfully, only need it for source files)
>
Yes. Actually, in the real program, the PDBs are not in the same 
directory as the executable files, and there I also need the mapping for 
them.

> at least this works here... what's strange anyway in your case is that 
> it sometimes crash, and sometimes doesn't. And the gdb info you 
> submitted likely shows a stack trashing somewhere.
>
> Index: type.c
> ===================================================================
> RCS file: /home/cvs/cvsroot/wine/wine/dlls/dbghelp/type.c,v
> retrieving revision 1.5
> diff -u -u -r1.5 type.c
> --- type.c    24 May 2004 19:08:19 -0000    1.5
> +++ type.c    12 Jun 2004 18:56:19 -0000
> @@ -238,7 +238,7 @@
>      if ((sym = pool_alloc(&module->pool, sizeof(*sym))))
>      {
>          sym->symt.tag            = SymTagEnum;
> -        sym->name = pool_strdup(&module->pool, typename);
> +        sym->name = (typename) ? pool_strdup(&module->pool, typename) 
> : NULL;
>          vector_init(&sym->vchildren, sizeof(struct symt*), 8);
>      }
>      return sym;
>
Ok, the above patch solves the problem for me. Does that mean we still 
have some stack thrashing somewhere? Could it not be that the "-O2" 
compilation option did the gdb warning?

Is this something valgrind can help with?

          Shachar

-- 
Shachar Shemesh
Lingnu Open Source Consulting ltd.
http://www.lingnu.com/




More information about the wine-devel mailing list