Quantcast
Channel: opencppcoverage Discussions Rss Feed
Viewing all articles
Browse latest Browse all 235

New Post: Possible performance improvement for children process?

$
0
0
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:
  1. 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.
  2. 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.
  3. 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 cannot understand all of the code of OpenCppCoverage, so I just modify the code based on my own understandings. Also I see some restrictions you set in the code. For example, I find I cannot use a map with both key and value set to class Address. Address can be the key, but not the value. I want to use a map of <Address, Address> to map child process break point address to parent for my own implementation to address thought#3 :) To workaround this, I am now using a map of <Address, pair<Handle, value> >.

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

Viewing all articles
Browse latest Browse all 235

Latest Images

Trending Articles



Latest Images