In my company, we are developing an Autodesk Maya Plugin. We are programming in C/C++, under Windows 7, using MS Visual Studio 2013. Our code compiles into a dll. This dll is then loaded into Maya (by us during testing, or by our customers). This is done using the standard approach to load plugins in Maya (one goes into a menu in Maya, and selects a dll to load). So, our plugin then executes from within Autodesk Maya.
We would like to inspect our dll using Intel Inspector, to check for memory leaks and other memory problems. How can we do this? On the Intel Inspector launch menu, we see no way to specify a dll, only .exe.
We tried specifying the Maya .exe inside Intel Inspector's launch window, but then Maya fails to launch. It appears that the Maya path variables are set incorrectly when launching via Intel Inspector. Maya works fine if we don't use Intel Inspector.
Related question: is it possible for Intel Inspector to launch the .exe using administrator privileges?
We are currently in the middle of our 30-day evaluation period. The answer to this question will help us decide whether to buy the cheaper Composer edition (that does not include Intel Inspector), or the Professional Edition (that includes Intel Inspector).
> We tried specifying the Maya .exe inside Intel Inspector's launch window, but then Maya fails to launch. It appears that the Maya path variables are set incorrectly when launching via Intel Inspector. Maya works fine if we don't use Intel Inspector.
You need to use cmd which can run Maya correctly, then run inspxe-cl or inspxe-gui - thus, all environments will be inherited...
>...On the Intel Inspector launch menu, we see no way to specify a dll, only .exe.
You may use "inspxe-cl -collect mi3 -executable-of-interest mymodule -- script" , if use a script to launch application (you run maya from script). All modules of maya process will be monitored, including maya, your dll if they works in same process space.
Other comments are:
1. Inspector can detect memory issues in dll module, which was loaded by launching application.
2. If dll was loaded by child application, you may use option "-executable-of-interest child-program"
3. COM/ActveX can be supported, if they are initialized by launching application.
4. Inspector can NOT support dll which is already running. Yes, Inspector cannot attach/monitor running modules.