I'm trying to hone down on an intermittant threading porblem in our application.
So i've installed ThreadChecker and configured it on this app.
After ThreadCheacker runs "Instrumentation" on the exe and associated DLL's. It complains that its not able to initialize the application.
I know that this type of error is generally due to missing DLLs. The app works fine outside of ThreadChecker and i've verified that all the requisite dlls are available by checking with Dependency Walker.
The instrumentation output panel, does not tell me what the error is due to.
Any ideas/help is greatly appreciated.
Intel? Thread Checkerlaunches your application and find associated DLLs based on system environment variable PATH. If you wants to add more pathof your DLLs, please follow below sequence.
Create a new activity -> Intel? Thread Checker Wizard -> specify launched application -> check on "Modify the default configuration when done with the wizard -> Finish -> Advanced Activity Configuration -> click on app -> Configure -> Advanced -> uncheck "Use default environment" -> add your dll's path to PATH variable.
I applied the changes you recommended. And it still complains. What I mean is, previously it used to complain on msvcr80d.dll or msvcp80d.dll (guessing... 'cause there is no log of what it cannot find).
I've verified that ThreadChecker is able to locate all DLLs from appropriate directories.
I'm not sure which DLL it is complaining on. The last one it found was comctl.dll in WinSxS.
It seems there are many DLLs that your program relies on, and you don't know which DLL was blocked the application.
I think there are many tools to identify code's depedency, for example -http://www.dependencywalker.com/
However we have a simple solution, that is, run VTune/Thread Checker from your workable environment -
1. Ensure that you have no problem to run application without VTune, for example, run it under Visual Studio* 2006 Command Prompt.
2. Launch VTune from this Command Prompt, "C:Program FilesIntelVTuneAnalyzerbinvtuneenv.exe", then use Thread Checker
It should work.