Reputation: 14003
I'm attempting to profile a C++ DLL using Visual Studio's performance tools. I create a profiling session targeting my DLL, go into it's properties, and override the launch settings to run an executable that loads this DLL.
When I attempt to start the profiler, I get:
Error VSP1033: The file 'C:\src\mam\bin\Profile\Win32\Helper.dll' does not contain a recognized executable image.
This makes it seem like it's trying to launch the DLL, but it does generate an empty report using the executable's name.
Is there any way to fix this problem?
Upvotes: 3
Views: 3947
Reputation: 6275
Old question but i also came across this recently. The problem for me was that i was running on a 64bit OS but not all the compilation targets where actually set to 64bit. In my case i was profiling a managed application and i had to set it explicitly to 64bit, anycpu wasnt enough. This was also true for the libraries in the app.
Upvotes: 5
Reputation: 2352
I have seen this happen when certain CPU opcodes are in the assembly.
For example:
_mm_crc32_u16
_mm_crc32_u8
and a Visual C++ variant of Popcnt for 16-bit numbers
See if you have any of these. Otherwise, you can comment out half your code, then the other half etc. to do a binary search for the offending code line.
Upvotes: 1