Hi Dojo,
How can I check if a memory dump file (.dmp) I have is 32 or 64 bit ?
Thanks in advance.
Hi,
You can check this by opening the dmp file in Visual Studio. In the dump summary, check the Process architecture.
- 64bit dump of 64bit process: x64
- 32 bit dump of 32 bit process: x86
- 64 bit dump of 32 bit process: x86 (64-bit-dump) <--- Avoid!
Memory dumps should be taken with the correct bitness. Do not use the task manager to create dumps, but use a tool like procdump. You can find more info here.
I don’t know any way to do this without 3rd party software.
I can check it for you if you put the dmp on the share.
Can you explain why you need to know? If you’re using procdump (without the -64 option), the dump should have the correct bitness automatically.
Yes, we have a small problem in that. The correct bitness does not seem to happen. I will check and come back if needed, thanks for now 🙂
If there is no Visual Studio license then a possibility could be to use Windbg. That is part of the Windows SDK (only installing debugging tools will suffice). When opening Winbg, click on “File->Open Crash Dump…”. That will already show in the first displayed text something like “Windows 8 Version 18065 MP (4 procs) Free x64” that x64 shows that it was a memory dump of a 64 bit process. For a 32 bit process it will show something like “… Free x86 compatible”
Hi Arunkhrishna,
Before to take the memory dump, you could also check if the process is a 32-bit or 64-bit process. You can double check this using the Task Manager.
- In the Task Manager, go to the tab 'Details'
- Right click in one of the columns and select 'Select columns':
- A pop-up will be displayed with the possible columns to be. Select the column 'Platform':
- You could check now if the process running is a 32-bit/64-bit process. For example, in the screenshot below, DataMinerCube.exe is a 64-bit process
Thank you for the suggestion, but is there a way to find it without making use of a external software like Visual Studio ?