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.