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+