Kapila De Silva a écrit :
> Hi guys,
>> I put some more debug in the process_find_by_handle function of
> dbghelp.c, and what Im seeing is the second time we call
> SymInitializeW, we appear to create a new process structure, so
> following calls to process_find_by_handle returns the new one, and not
> the old one.
>> In the trace below, the first call to process_find_by_handle returns a
> process structure stored at 0x16c600, but the next calls locate two
> process structures (one at 0x16c600 and one at 0xf5ee680).
>> Could this be an issue? Both seem to have the same process handle of
> 0xffffffff. Maybe when allocating a new process structure we should
> check if one already exists with the same handle?
>Again, I said I'll send a patch for the syminitialize issue being called
twice (but I need to figure out the semantics for the SymCleanup, which
seem to be ackward...), but that's unlikely the cause of the later
crash, so you don't need to spend too much time on the dbghelp issue (if
you really want to be sure, in SymInitialize return TRUE if we've found
an existing process with the same handle)
A+
--
Eric Pouech
"The problem with designing something completely foolproof is to underestimate the ingenuity of a complete idiot." (Douglas Adams)