Locks Stop Details |
The Lock Verifier checks for errors (or stops) in the file lock usages. The primary purpose of the Locks test is to ensure that the application uses critical sections properly.
Following is a list of verifier stops that may occur when running the lock verifier against a solution or project on different platforms:
Error message | Stop code |
0200 | |
0201 | |
0202 | |
0203 | |
0204 | |
0205 | |
0206 | |
0207 | |
0208 | |
0209 | |
0210 | |
0211 | |
Freeing virtual memory containing an active critical section | 0212 |
Unmapping memory region containing an active critical section | 0213 |
0214 | |
0215 |
Additional information
Other details regarding lock checks:
-
Checks for the unload of a DLL that contains an active critical section. This leads to resource leaks.
-
Checks for a heap block free that contains an active critical section. This also leads to resource leaks.
-
Ensures that an application does not attempt to initialize a critical section more than once. This causes undefined behavior.
-
Checks for corruption of a critical section. The DebugInfo field of the critical section must not point to freed memory.
-
Checks for an owner thread ID which is invalid in the current context.
-
Ensures that the recursion count field of the critical section is not invalid in the current context.
-
Checks that the critical section was initialized before being deleted.
-
Ensures that the critical section is not released more times than the current thread acquired it.
-
Checks that the critical section has been initialized prior to being used.