The other issue I found with NSight and MFC:
My Game-app works well with NSight and I can profile it with NSight.
In current phase I decided to make config as another, MFC-dlg based process, and start it via CreateProcess (I have no resource to create own-rendering dialogs/buttons).
So, when I run my game under NSight debugger, it works well, and without hangs.
When I spawn Config.exe, under NSight, process starts, but it’s window does not appear.
One core became busy for 100%.
The game runs OK.
Line #, Process, Thread ID, Stack, Count, Weight (in view) (ms)
28, , , | Nvda.Nexus.Injection.dll!, 8926, 8,946.665925
29, , , | |- Nvda.Graphics.Interception.dll!, 8894, 8,914.487088
30, , , | | Nvda.Graphics.Interception.dll!, 8894, 8,914.487088
31, , , | | Nvda.Graphics.Interception.dll!, 8894, 8,914.487088
32, , , | | Nvda.Graphics.Interception.dll!, 8894, 8,914.487088
33, , , | | Nvda.Graphics.Interception.dll!, 8894, 8,914.487088
34, , , | | |- Nvda.Graphics.Interception.dll!, 8888, 8,908.499589
35, , , | | | Nvda.Graphics.Interception.dll!, 8888, 8,908.499589
36, , , | | | |- Nvda.Graphics.Interception.dll!, 8887, 8,907.499285
37, , , | | | | |- Nvda.Graphics.Interception.dll!, 8885, 8,905.496666
38, , , | | | | | |- Nvda.Graphics.Interception.dll!, 8386, 8,405.922777
39, , , | | | | | | |- nvoglv64.dll!, 8382, 8,401.922505
40, , , | | | | | | | nvoglv64.dll!, 8382, 8,401.922505
41, , , | | | | | | | |- nvoglv64.dll!, 8380, 8,399.861170
42, , , | | | | | | | | nvoglv64.dll!, 8380, 8,399.861170
43, , , | | | | | | | | |- KernelBase.dll!SwitchToThread, 8096, 8,115.253924
44, , , | | | | | | | | | |- ntdll.dll!NtYieldExecution, 7217, 7,233.964564
45, , , | | | | | | | | | | |- ntoskrnl.exe!KiSystemServiceUser, 3548, 3,556.201856
When I stop NSight debugging, Game.exe stops normally, but Config.exe continues to run (without it’s main window created).
The only thing I can do - is to kill the Config.exe in process explorer.
So there is another ETL for this case:
2016.12.22-16.11.27.658.etl ( Dropbox - File Deleted )
Game = Doom.exe
Config = DoomConfig.exe