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)