Yes, thread local storage is used in the stub part of the program that is injected into the target program.
Memory Validator needs to use thread local storage so that it can keep track of per-thread related data whilst instrumenting your application.
Windows NT provides each application with at least 64 thread local storage slots.
How many TLS slots are used?
Memory Validator uses 9 of these slots, leaving at least 55 available for your program to use at the same time as Memory Validator.
If your application uses more than 55 slots, then depending on the launch or injection method:
•Memory Validator gets the slots before your application and your application fails to get all the slots needed
•Memory Validator will fail to get the slots it needs because your application acquired the slots first
I need more than 55 slots
In practice most applications don't use as many as 55 slots, so being affected is unlikely.
However, if your application normally requires more than 55 thread local storage slots, please contact us with details.
|