You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
classMyClass{privatestaticstrings_DefaultBar="some default";privatestringm_foo;privatestringm_bar;publicMyClass(stringfoo="",stringbar=""){DebugTN(__FUNCTION__,"foo",foo,"bar",bar);if(foo=="")m_foo=PVSS_PATH+"bin/"+"test";elsem_foo=foo;if(bar=""){m_bar=s_DefaultBar;}else{m_bar=bar;}DebugTN(__FUNCTION__,"m_foo",m_foo,"m_bar",m_bar);DebugTN(__FUNCTION__,"-------------------------------");// ... more code ...DebugTN(varnotexists);}};
Since the bug wasn't found by the developer (me) and code reviewer (others) I wanted to know if CtrlPPcheck is able to help to find this very basic issue.
Short answer: No
Long answer:
I asked Microsoft Copilot and the issue was found. Also asked to do checks with standard code analysis tools and they're able to find that. Would be nice/useful if CtrlPPcheck is able to find such code flaws as well.
Installation of "WinCCOA_QualityChecks" is not documented. There are some Markdown files (e.g. README.md) but none of them explains what to do (asked again Microsoft Copilot) to make it working. Also there is a lot of documentation but it doesn't tell anything how to "install". The "Step by Step" guide I got from Microsoft Copilot wasn't complete... (but can't complain AI here since if there is no information, AI can't tell you - even it did, but incomplete).
But at the end, when trying "Quality Checks / CtrlPPcheck (static)" I get tons of errors in log:
WCCOAui (1), 2026.01.09 19:41:45.075, CTRL, INFO, 21/QgBase, Start quality gate QgCtrlppCheck.
WCCOAui (1), 2026.01.09 19:41:45.080, CTRL, INFO, 22/QgBase, Calculate sources for quality gate QgCtrlppCheck.
WCCOAui (1), 2026.01.09 19:41:45.244, CTRL, WARNING, 5/ctrl, Location of the following log entry:
Module: WinCCOA_QualityChecks
Panel: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl [WinCCOA - Quality checks results]
Script: Initialize
In panel scope library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl
Line: 22
WCCOAui (1), 2026.01.09 19:41:45.244, IMPL, WARNING, 61, Cannot open file, CtrlCB, readFromFile, C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767983139/Score, The system cannot find the file specified.
WCCOAui (1), 2026.01.09 19:41:45.249, CTRL, WARNING, 5/ctrl, Location of the following log entry:
Module: WinCCOA_QualityChecks
Panel: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl [WinCCOA - Quality checks results]
Script: Initialize
In panel scope library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl
Line: 22
WCCOAui (1), 2026.01.09 19:41:45.249, IMPL, WARNING, 61, Cannot open file, CtrlCB, readFromFile, C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767978638/Score, The system cannot find the file specified.
WCCOAui (1), 2026.01.09 19:41:45.256, CTRL, WARNING, 5/ctrl, Location of the following log entry:
Module: WinCCOA_QualityChecks
Panel: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl [WinCCOA - Quality checks results]
Script: Initialize
In panel scope library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl
Line: 22
WCCOAui (1), 2026.01.09 19:41:45.256, IMPL, WARNING, 61, Cannot open file, CtrlCB, readFromFile, C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767961959/Score, The system cannot find the file specified.
WCCOAui (1), 2026.01.09 19:41:45.261, CTRL, WARNING, 5/ctrl, Location of the following log entry:
Module: WinCCOA_QualityChecks
Panel: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl [WinCCOA - Quality checks results]
Script: Initialize
In panel scope library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl
Line: 22
WCCOAui (1), 2026.01.09 19:41:45.261, IMPL, WARNING, 61, Cannot open file, CtrlCB, readFromFile, C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767961884/Score, The system cannot find the file specified.
WCCOAui (1), 2026.01.09 19:41:45.268, CTRL, WARNING, 5/ctrl, Location of the following log entry:
Module: WinCCOA_QualityChecks
Panel: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl [WinCCOA - Quality checks results]
Script: Initialize
In panel scope library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl
Line: 22
WCCOAui (1), 2026.01.09 19:41:45.268, IMPL, WARNING, 61, Cannot open file, CtrlCB, readFromFile, C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767961875/Score, The system cannot find the file specified.
WCCOAui (1), 2026.01.09 19:41:45.387, CTRL, INFO, 23/QgBase, Validate results for quality gate QgCtrlppCheck.
WCCOAui (1), 2026.01.09 19:41:45.390, CTRL, WARNING, 10/QgBase, Assertion return error: Undefined variable: s_DefaultBar (undefinedVariable)
WCCOAui (1), 2026.01.09 19:41:45.391, CTRL, WARNING, 10/oaUnit_errors, (FAILED) Testcase 'scripts/libs/classes/MyClass.ctl' failed,
ErrMsg: Undefined variable: s_DefaultBar (undefinedVariable)
Note: scripts/libs/classes/MyClass.ctl
StackTrace: ,
Module: Gedi_1
Script: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\scripts\gedi\qualityCheck_ext.ctl
Library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\scripts\libs\classes\QualityGates\QgVersionResult.ctl
Line: 548
WCCOAui (1), 2026.01.09 19:41:45.394, CTRL, WARNING, 10/QgBase, Assertion return error: It is some develop version?, The funcion foo() or variable foo is found (usageOfFoo)
WCCOAui (1), 2026.01.09 19:41:45.395, CTRL, WARNING, 10/oaUnit_errors, (FAILED) Testcase 'scripts/libs/classes/MyClass.ctl' failed,
ErrMsg: It is some develop version?, The funcion foo() or variable foo is found (usageOfFoo)
Note: scripts/libs/classes/MyClass.ctl
StackTrace: ,
Module: Gedi_1
Script: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\scripts\gedi\qualityCheck_ext.ctl
Library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\scripts\libs\classes\QualityGates\QgVersionResult.ctl
Line: 548
WCCOAui (1), 2026.01.09 19:41:45.407, CTRL, WARNING, 10/QgBase, Assertion return error: It is some develop version?, The funcion foo() or variable foo is found (usageOfFoo)
WCCOAui (1), 2026.01.09 19:41:45.409, CTRL, WARNING, 10/oaUnit_errors, (FAILED) Testcase 'scripts/libs/classes/MyClass.ctl' failed,
ErrMsg: It is some develop version?, The funcion foo() or variable foo is found (usageOfFoo)
Note: scripts/libs/classes/MyClass.ctl
StackTrace: ,
Module: Gedi_1
Script: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\scripts\gedi\qualityCheck_ext.ctl
Library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\scripts\libs\classes\QualityGates\QgVersionResult.ctl
Line: 548
WCCOAui (1), 2026.01.09 19:41:45.418, CTRL, WARNING, 10/QgBase, Assertion return error: It is some develop version?, The funcion foo() or variable foo is found (usageOfFoo)
WCCOAui (1), 2026.01.09 19:41:45.419, CTRL, WARNING, 10/oaUnit_errors, (FAILED) Testcase 'scripts/libs/classes/MyClass.ctl' failed,
ErrMsg: It is some develop version?, The funcion foo() or variable foo is found (usageOfFoo)
Note: scripts/libs/classes/MyClass.ctl
StackTrace: ,
Module: Gedi_1
Script: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\scripts\gedi\qualityCheck_ext.ctl
Library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\scripts\libs\classes\QualityGates\QgVersionResult.ctl
Line: 548
WCCOAui (1), 2026.01.09 19:41:45.432, CTRL, WARNING, 10/QgBase, Assertion return error: It is some develop version?, The funcion foo() or variable foo is found (usageOfFoo)
WCCOAui (1), 2026.01.09 19:41:45.433, CTRL, WARNING, 10/oaUnit_errors, (FAILED) Testcase 'scripts/libs/classes/MyClass.ctl' failed,
ErrMsg: It is some develop version?, The funcion foo() or variable foo is found (usageOfFoo)
Note: scripts/libs/classes/MyClass.ctl
StackTrace: ,
Module: Gedi_1
Script: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\scripts\gedi\qualityCheck_ext.ctl
Library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\scripts\libs\classes\QualityGates\QgVersionResult.ctl
Line: 548
WCCOAui (1), 2026.01.09 19:41:45.442, CTRL, WARNING, 10/QgBase, Assertion return error: Use throwError() instead of DebugTN() functions (badFunc_style_DebugTN)
WCCOAui (1), 2026.01.09 19:41:45.443, CTRL, WARNING, 10/oaUnit_errors, (FAILED) Testcase 'scripts/libs/classes/MyClass.ctl' failed,
ErrMsg: Use throwError() instead of DebugTN() functions (badFunc_style_DebugTN)
Note: scripts/libs/classes/MyClass.ctl
StackTrace: ,
Module: Gedi_1
Script: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\scripts\gedi\qualityCheck_ext.ctl
Library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\scripts\libs\classes\QualityGates\QgVersionResult.ctl
Line: 548
WCCOAui (1), 2026.01.09 19:41:45.453, CTRL, WARNING, 10/QgBase, Assertion return error: Cppcheck cannot find all the include files (use --check-config for details) (missingInclude)
WCCOAui (1), 2026.01.09 19:41:45.454, CTRL, SEVERE, 86, Invalid value, testCaseID is empty
WCCOAui (1), 2026.01.09 19:41:45.455, CTRL, INFO, 100/oaUnit_errors, Checks done,
Aborted : 0
Failed : 12
Passed : 0
KnownBugs : 0
Skipped : 0
Instable : 0
WCCOAui (1), 2026.01.09 19:41:45.465, CTRL, INFO, 24/QgBase, Quality gate QgCtrlppCheck done. It takes to mee 0.39 [s.ms].
WCCOAui (1), 2026.01.09 19:41:45.542, CTRL, WARNING, 5/ctrl, Location of the following log entry:
Module: WinCCOA_QualityChecks
Panel: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl [WinCCOA - Quality checks results]
Script: Initialize
In panel scope library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl
Line: 22
WCCOAui (1), 2026.01.09 19:41:45.542, IMPL, WARNING, 61, Cannot open file, CtrlCB, readFromFile, C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767984105/Score, The system cannot find the file specified.
WCCOAui (1), 2026.01.09 19:41:45.547, CTRL, WARNING, 5/ctrl, Location of the following log entry:
Module: WinCCOA_QualityChecks
Panel: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl [WinCCOA - Quality checks results]
Script: Initialize
In panel scope library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl
Line: 22
WCCOAui (1), 2026.01.09 19:41:45.547, IMPL, WARNING, 61, Cannot open file, CtrlCB, readFromFile, C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767983139/Score, The system cannot find the file specified.
WCCOAui (1), 2026.01.09 19:41:45.550, CTRL, WARNING, 5/ctrl, Location of the following log entry:
Module: WinCCOA_QualityChecks
Panel: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl [WinCCOA - Quality checks results]
Script: Initialize
In panel scope library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl
Line: 22
WCCOAui (1), 2026.01.09 19:41:45.550, IMPL, WARNING, 61, Cannot open file, CtrlCB, readFromFile, C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767978638/Score, The system cannot find the file specified.
WCCOAui (1), 2026.01.09 19:41:45.552, CTRL, WARNING, 5/ctrl, Location of the following log entry:
Module: WinCCOA_QualityChecks
Panel: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl [WinCCOA - Quality checks results]
Script: Initialize
In panel scope library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl
Line: 22
WCCOAui (1), 2026.01.09 19:41:45.552, IMPL, WARNING, 61, Cannot open file, CtrlCB, readFromFile, C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767961959/Score, The system cannot find the file specified.
WCCOAui (1), 2026.01.09 19:41:45.554, CTRL, WARNING, 5/ctrl, Location of the following log entry:
Module: WinCCOA_QualityChecks
Panel: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl [WinCCOA - Quality checks results]
Script: Initialize
In panel scope library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl
Line: 22
WCCOAui (1), 2026.01.09 19:41:45.554, IMPL, WARNING, 61, Cannot open file, CtrlCB, readFromFile, C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767961884/Score, The system cannot find the file specified.
WCCOAui (1), 2026.01.09 19:41:45.557, CTRL, WARNING, 5/ctrl, Location of the following log entry:
Module: WinCCOA_QualityChecks
Panel: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl [WinCCOA - Quality checks results]
Script: Initialize
In panel scope library: C:\WinCCOA_Proj\_Subs\WinCCOA_QualityChecks\panels\vision\QualityChecks\QG_History.pnl
Line: 22
WCCOAui (1), 2026.01.09 19:41:45.557, IMPL, WARNING, 61, Cannot open file, CtrlCB, readFromFile, C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767961875/Score, The system cannot find the file specified.
Cannot open file, CtrlCB, readFromFile, C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767983139/Score, The system cannot find the file specified.
I verified that "Score" file really doesn't exist, so the error message is correct, but why?
So I tried to call the ctrlppcheck.exe in Command Prompt:
>ctrlppcheck --winccoa-projectName=TSTharry_319 MyClass.ctl
Checking MyClass.ctl cfgname: ...
(error) There is no rule to execute. Tokenlist: raw
cppcheck: warning: custom naming rule file is not specified or does not exist
cppcheck: warning: standard naming rule file does not exist
[MyClass.ctl:9]: (warning) Undefined variable: __FUNCTION__
[MyClass.ctl:12]: (warning) Undefined variable: PVSS_PATH
[MyClass.ctl:25]: (warning) Undefined variable: __FUNCTION__
[MyClass.ctl:26]: (warning) Undefined variable: __FUNCTION__
[MyClass.ctl:29]: (warning) Undefined variable: varnotexists
(error) There is no rule to execute. Tokenlist: normal
(error) There is no rule to execute. Tokenlist: simple
But that output isn't helpful either since the one bug I wanted "to be reported by CtrlPPcheck". varnotexists was found, that's good. The FUNCTION etc. can be ignored because of missing configuration settings, I guess.
Long story short: The problematic line if (bar = "") was not found.
In this particular case, the malfunction occurred somewhere completely different and therefore remained undetected for quite a long time. The corresponding class was part of a pull request and was reviewed, but the issue was not found. A static code analysis of all files in that PR would certainly have helped to identify the problem much sooner.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Recently I found a bug in a class ctor like:
Since the bug wasn't found by the developer (me) and code reviewer (others) I wanted to know if CtrlPPcheck is able to help to find this very basic issue.
Short answer: No
Long answer:
I asked Microsoft Copilot and the issue was found. Also asked to do checks with standard code analysis tools and they're able to find that. Would be nice/useful if CtrlPPcheck is able to find such code flaws as well.
Installation of "WinCCOA_QualityChecks" is not documented. There are some Markdown files (e.g. README.md) but none of them explains what to do (asked again Microsoft Copilot) to make it working. Also there is a lot of documentation but it doesn't tell anything how to "install". The "Step by Step" guide I got from Microsoft Copilot wasn't complete... (but can't complain AI here since if there is no information, AI can't tell you - even it did, but incomplete).
The provided WinCCOA_QualityChecks.dpl is buggy. Got -43 Date format or time format error. After fixing that I got 55 : DP %s already defined with ID . which is okay since it was my 2nd attempt to import that ASCII file.
But at the end, when trying "Quality Checks / CtrlPPcheck (static)" I get tons of errors in log:
Cannot open file, CtrlCB, readFromFile, C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767983139/Score, The system cannot find the file specified.
I verified that "Score" file really doesn't exist, so the error message is correct, but why?
Folder C:/WinCCOA_Proj/TSTharry_319/data/QualityGates/QgCtrlppCheck/1767983139/ contains:
So I tried to call the ctrlppcheck.exe in Command Prompt:
But that output isn't helpful either since the one bug I wanted "to be reported by CtrlPPcheck". varnotexists was found, that's good. The FUNCTION etc. can be ignored because of missing configuration settings, I guess.
Long story short: The problematic line
if (bar = "")was not found.In this particular case, the malfunction occurred somewhere completely different and therefore remained undetected for quite a long time. The corresponding class was part of a pull request and was reviewed, but the issue was not found. A static code analysis of all files in that PR would certainly have helped to identify the problem much sooner.
Beta Was this translation helpful? Give feedback.
All reactions