On 10/11/05, Astroman (sent by Nabble.com) <[EMAIL PROTECTED]> wrote:
>
>   I am working on a piece of software that never exits and I am trying to use 
> -fprofile-arcs and gcov to gather coverage data on it.
> The code looks like this:
> int main(){
>    while(1){
>       foo();
>       nanosleep(50);
>     }
> }
>   This is a child process that as you can see will never exit on its own so 
> eventually it is just signal killed by the parent process.  This code could 
> be changed to exit properly but that is not an option in this case.  I am 
> compiling the code with -fprofile-arcs and -ftest-coverage and I am able to 
> obtain accurate coverage data for all the files in the project that exit 
> normally.  Is there any way to collect the .da file data before exit?  Is it 
> temporarily stored anywhere or could I alter the gcc library to store this 
> information more often?

Make it SIGTERM, add a signal handler and do proper sigsetjmp/siglongjmp to
jump to a clean exit point.  The output should be worth the extra 10
lines of code.

Richard.

Reply via email to