如果我有進程轉儲文件,是否有知道轉儲是在x64機器還是x86計算機上生成的?確定在x64或x86計算機上是否生成了進程轉儲
回答
你可以看看環境變量。除其他外,命令!peb
的輸出包含環境變量列表。如果您看到定義的變量PROCESSOR_ARCHITEW6432
或ProgramW6432
,則OS是64位。否則,它是32位。
當我運行!peb命令它給了我PEB NULL ...任何想法是什麼意思? –
這意味着轉儲不包含進程環境塊(PEB)。在調試器中使用'.dump/mp'或'.dump/ma'或'.dump/mf'命令時,PEB被添加,或者您使用ADPlus(http://support.microsoft.com/kb/q286350)。 –
您可以使用Windows調試工具附帶的dumpchk.exe實用程序。只需傳遞轉儲文件作爲參數。
在生成的報告中,您將有操作系統版本和CPU的味道,例如:
的Windows 7版本7601版(Service Pack 1)UP免費
產品: WinNt,suite:SingleUserTS
*如果*顯示x64,則它必須在x64操作系統上執行,但反之不然。在x64系統上進行的32位轉儲將顯示x86。 –
不幸的是,以上答案在大多數情況下不起作用。
如果目標進程構建爲x86二進制文件,則Dupmchk.exe將對x86和x64操作系統說「x86兼容」。並且!peb命令也會爲您提供毫無用處的「PEB NULL ...」,這是我們大多數時間使用的小型轉儲程序。
你最好檢查 「的Kernel32.dll」 的完整路徑,因爲x64操作系統將加載「C:\ WINDOWS \ SYSWOW64 \ Kernel32.dll中」而不是同時的x86操作系統加載簡單的「C:\ WINDOWS \ System32 \ Kernel32.dll「用於x86可執行文件。加載的模塊和它們的路徑在minidump中被重新記錄,並且可以通過dumpchk.exe,windbg和Visual Studio輕鬆檢查。
某些客戶爲了保護隱私需要刪除路徑,因此使用'.dump/marR'。 –
我也認爲這是一個有效的策略。它在Windows XP --Windows 7上適用於我...但是,Windows 8改變了一切,只將SysWOW64路徑傳送到System32。我認爲這很奇怪,所有*我的客戶都在運行32位版本的Windows 8 + ... – Mark
您可以使用.effmach命令來了解創建轉儲的體系結構。請注意,WOW64場景中的轉儲拱門是x64,但實際上應該使用x86方法進行調試(請參閱!wow64exts.sw命令)。
0:000> .effmach Effective machine: x64 (AMD64)
'.effmach'不能用於查找轉儲的位數。它只能用於找出用於調試的當前位數。試試64位轉儲的'!sw',然後'.effmach',它將不再顯示正確的結果。 –
你是對的,但如果你正在運行一個WOW'd轉儲,那麼在!sw命令之前,.effmach命令將返回回答作者問題的正確位數。而且,如果你一直跟着我們,那麼你肯定知道垃圾場的位置;) – Shleimeleh
- 1. 確定是否x86或x64系統
- 2. 在x86和x64計算機使用Hintpath
- 3. 確定是否在MATLAB中運行x64或x86操作系統
- 4. 。x86 x86機器上的x64開發
- 5. 如何確定我的應用程序是在x86還是x64 Windows上運行?
- 6. 是否需要考慮在x64和x86上運行.net程序?
- 7. 將可執行文件(x86或x64)複製到基於Windows系統類型(x86或x64)的遠程計算機上
- 8. Piwik確定是否移動或計算機用戶
- 9. JAVA SE x86或x64?
- 10. 如何使用gcc在x64計算機上編譯x86彙編代碼
- 11. 如何確定計算是否已完成或檢測到計算中斷?
- 12. C#部署在任何機器X86,X64或AnyCpu上
- 13. 檢測是否在當前計算機上安裝了Mumble
- 14. 如何在heroku上爲Java進程生成線程轉儲?
- 15. 是否可以讀取存儲在計算機上的文件?
- 16. 當網頁存儲在計算機上時,cookies是否工作?
- 17. 加載x86或x64程序集
- 18. 在windows2003 enterprise x64 sp2上運行的32位進程轉儲
- 19. 生成計算機移動
- 20. x86或x64反彙編LIB
- 21. 如何確定某人是否正在Python或Java中使用Linux計算機?
- 22. 是否可以確定計算機連接到交換機上的插孔?
- 23. 檢測計算機是否可以正確支持3D轉換
- 24. IIS是否爲Azure雲服務運行x64或x86?
- 25. 是否有任何基於x86或x64的Windows Phone設備?
- 26. 我的計算機中的相同的dll文件是x64,但在另一臺計算機上,他們是x86,奇怪的
- 27. PowerShell的確定遠程計算機OS
- 28. 檢查計算機上是否安裝了Microsoft Security Essentials
- 29. 檢查計算機上是否安裝了磁帶庫
- 30. 確定在遠程Windows計算機上登錄的用戶
相關的或潛在的重複:https://stackoverflow.com/questions/43308814/is-there-a-windbg-command-to-find-out-if-a-process-is-a -32-bit-one-a-64-bit -o –