AQTime Light Coverage Profiler identifies uncovered lines with only brackets or keywords (C++)
I have some strange Light Coverage result reported by AQTime (8.71.3483.7)
It shows thats the lines containing only brackets (from if-else or try-catch blocks) and `if-else` keywords are uncovered.
An exmaple code:
template<typename T>
class Klass
{
public:
void do()
{
try
{
if ( ... )
{
//...
}
else /* this line is reported as uncovered */
{
//...
} /* this line is reported as uncovered */
}
catch (SomeEx&)
{
//...
} /* this line is reported as uncovered */
catch (SomeOtherEx&)
{
//...
} /* this line is reported as uncovered */
}
};
The whole code is actually covered but the report shows such lines uncovered.
is it expected behavour?
How can I get rid of it?
thanks
thanks AlexKaras, it was a good hint.
Indeed, I did run Coverage Profiler with none-Release configuration in MSVC.
Without /O options MSVC would generate unreachable jmp instructions for such `else` or `bracket` lines.
It is not wrong but just not nice with MSVC for none-optimzed code generation. Example instruction code generation without /O and with /O options
I assume that AQTime profiler just traces if generated instructions are executed or not. That is why I get this strange result.