I generally use Intel GPA to profile and analyze the rendering process of games on Steam. I wanted to explore Visual Studio's graphics debugger and Nvidia nSight, but I can't get them to "latch" onto the game's process.
This seems to be because of the way steam games are launched. Clicking on the game.exe launches a steam process that in turn launches the game. I don't know why Valve does it this way, but it prevents these tools from "hooking" onto the process and capturing frames.
I tried using the "steam_appid.txt" file to prevent this launch sequence (the steam API mentions this), but to no avail. Just to clarify - I don't have access to the source of these games; i'm just interested in rendering analysis.
I think Nsight can support "latch" you mentioned. Please configure Nsight's User Settings:
Also remember to uncheck the "Synchronize files" in Synchronization section.
After all configurations have been done, just launch as usual, you will see a Attach dialog box pop out when the steam really runs.
Just run the game from steam, and double click on the game's process in Nsight's Attach dialog box, then you will see the Nsight HUD in the game and every feature for graphic debug of Nsight should works as normal.
The key here is tell Nsight that your 'steam.exe' is just a launcher, and Nsight's dll should hook on the children process from steam.exe, which means "hook/attach on your need".
Thanks An