OD 調試多線程

1、無法單步調試

在調試多線程程序的時候,如果遇到斷點能斷下來,但是一按F7/F8程序就運行起來了,這種情況多半是線程被掛起了

首先是去看看線程窗口,是不是有線程被掛起來,如果有,右鍵-->Resume all thread,然後就可以繼續單步調試了

 

2、程序運行到一半,OD就已經退出,進程終止

這種情況一般是程序有一些反調試手段,我當時的情況是有兩個線程,總是在第一個線程結束的時候OD就終止了,但是我需要分析的數據都在第二個線程裏面,所以當時糾結了好久,試過下各種斷點,包括斷在創建線程、_exitthread之類的地方,但是還是無濟於事。再說明一下,我當時是在64位機上面調試,我調試的程序進程B是由另一個程序進程A啓動的,在OD中是用附加了B進程。

解決辦法就是:原版OD+StrongOD+SharpOD 64,因爲StrongOD很多功能可能在64位機器上面無法正常執行其功能,需要用到SharpOD來執行主要的反調試功能。

用上面的配置把程序加載之後,就不會出現運行到一半OD就終止了,能夠運行到程序結束。

StrongOD配置:

SharpOD配置:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章