Hi,
Thank you very much to pay attention to this problem.
Actually I have tried changing some code in my local computer to optimize the child process. So far it works well. My rough thoughts are:
I am glad to receive your patch file if possible. I would compare yours with my own ugly implementation to better understand your program.
Thanks,
Frank
Thank you very much to pay attention to this problem.
Actually I have tried changing some code in my local computer to optimize the child process. So far it works well. My rough thoughts are:
-
If the same dll gets loaded in child process, we will get address to add break point from cache instead of reading from pdb. Through debugging I find the only difference between the address to add break point to in child and parent process is the process handle.
-
If some break point in parent process has been hit, we will remove the address in the cache in function OnBreakPoint(...), so that next when child process starts, the already hit code would not be set break point again.
-
If some break point in child process has been hit, we will also remove the address in the cache because there may be future child process. As long as the code is hit, wherever process it is in, no breakpoint should be set for future child process.(My strange program will new several child process which might execute same code...)
I am glad to receive your patch file if possible. I would compare yours with my own ugly implementation to better understand your program.
Thanks,
Frank









