Now, I have a customer with a memory issue I've failed to reproduce, and I'm considering embedding the SciTech.MemProfilerApi library in the shipping application in order to help track this down. (I think this is covered by the professional license?)
As such, I thought I could start with a button that takes a memory snapshot* and saves the result to disk, presumably using the .prfsession format. However, while NmpCore can apparently do this from the command-line (while also providing some form of UI), such functionality appears missing in the API. Is this not (yet?) a supported scenario, or am I approaching this wrong?
Should I instead ship NmpCore with the app, and make a button that launches it?
*) Comparison snapshots, etc. will be interesting for later, but for now, I'm mostly just interested in browsing through what instances currently exist.
There's an external API that can be used, but this API requires the full profiler to be installed on the machine which I assume will not work for you, since you want to create sessions on a customer's machine.
Triggering NmpCore as an external process can be solution, e.g. by using something like:
Code: Select all
Process.Start( "NmpCore", "/a:<my pid> /ac1 /cs /sf \"<path to session file>\"");
SciTech Software AB
Users browsing this forum: Bing [Bot] and 11 guests