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