如何分析64位系統上32位程式的dump

2021-09-12 10:28:00 字數 373 閱讀 9324

隨著硬體越來越便宜,為了能夠識別大於4g的記憶體,越來越多的電腦使用64位的作業系統,然後現在大多數的軟體還是32位的,64位的系統使用wow64來幫助執行32位的程式。如果乙個64位系統上,32位程式出現crash,得到乙個dump檔案,如果不進行轉換是不能直接用windbg分析的。下面介紹如何處理這樣乙個dump檔案。

首先,我們使用windbg開啟dump檔案。這時候如果直接輸入!analyze -v ,得到的堆疊結果肯定是看不到想看的結果的。

其次,載入wow64exts模組,因為需要這個模組幫助把64位的dump,轉換成32位的dump。輸入 .load wow64exts

再次,進行轉換。輸入!sw

最後,按照分析32位dump檔案的方法,分析這個dump。

64位Ubuntu上編譯32位程式

1.確認主機為64位架構的核心,應該輸出為adm64,執行 dpkg print architecture 2.確認開啟了多支架功能,應該輸出為i386,執行 dpkg print foreign architectures 如果沒有,則需要手動開啟,依次執行 sudo dpkg add archi...

64位系統編譯32位程式

如上使用c4這個小工具時遇到來需要 32位系統的需求,發現使用 m32引數後,編譯提示錯誤,如下 usr bin ld 未知的 模式 32 支援的 elf x86 64 elf32 x86 64 elf i386 i386linux elf l1om elf k1om i386pep i386pe ...

如何在64位Linux系統上編譯32位程式

在64位的ubuntu,gcc8.2.0的系統上,如何編譯乙個32的程式?查詢gcc文件可知,編譯64位程式使用 m64選項,例如 gcc m64 o3 index.c o index 該程式只能在64位機器上執行編譯32位程式使用 m32選項,例如 gcc m32 o3 index.c o ind...