OD除錯多執行緒
OD只能單執行緒除錯,也就是每次只能跟一條執行緒。以前我除錯時常常迷迷糊糊就進入新執行緒,而有時又怎麼也進不了。。。
最近大概明白了一點點。
方法:首先是設定StrongOD,如下圖:
不要勾選“Skip Some Exceptions”, 還有OD本身裡面的異常都不要勾選!很重要!
到新建執行緒裡面有個引數是執行緒函式的指標,如下圖所示:
首先是在上面那個“003E015C”處出下F2斷點.
然後直接F8步過CreateThread函式,一般不會跳到"003E015C", OD單執行緒除錯的原因……
讓它跳到"003E015C"一般是下面跟有Sleep函式或者是WaitForSingleObject函式,有時候卻沒有遇見這樣的函式,一直在主程式囧....
所以我一般手動修改它下面接著的程式碼,一般修改為Sleep函式,引數少麼?函式名短…………如下圖,注意Sleep的函式大小寫……
修改前做個快照,比較煩人的有很多CreateThread的那種,執行緒多了就一個除錯吧……
你要是沒有取消StrongOD的忽然異常設定會導致下面的情況發生,開始困擾了我很久(預設是勾選的)
最近發現了一種簡單的方法,首先點選OD介面上那個T標識,然後右鍵“設定優先權”-->"空閒"
注意開始的優先順序是“32+0”,修改後的事“32-15”即如圖:
這樣F8步過CreateThread的呼叫是會自動跳到那個“003E015C”。
相關文章
- Java除錯教程--多執行緒除錯(轉)Java除錯執行緒
- GDB多執行緒除錯分析執行緒除錯
- gdb多執行緒多程序除錯命令執行緒除錯
- gdbserver 移植與多執行緒除錯Server執行緒除錯
- 多執行緒死鎖除錯小技巧執行緒除錯
- IDEA多執行緒下空指標斷點除錯Idea執行緒指標斷點除錯
- 多執行緒和多執行緒同步執行緒
- 多執行緒【執行緒池】執行緒
- 多執行緒--執行緒管理執行緒
- Java多執行緒——執行緒Java執行緒
- 執行緒與多執行緒執行緒
- VC多執行緒 C++ 多執行緒執行緒C++
- 多執行緒-執行緒控制之休眠執行緒執行緒
- 多執行緒-執行緒控制之加入執行緒執行緒
- 多執行緒-執行緒控制之禮讓執行緒執行緒
- 多執行緒-執行緒控制之中斷執行緒執行緒
- 多執行緒之初識執行緒執行緒
- Java多執行緒-執行緒中止Java執行緒
- Java多執行緒——執行緒池Java執行緒
- 多執行緒-執行緒概述等執行緒
- 多執行緒系列(1),多執行緒基礎執行緒
- 多執行緒系列(二):多執行緒基礎執行緒
- 多執行緒------執行緒與程式/執行緒排程/建立執行緒執行緒
- 多執行緒-執行緒控制之守護執行緒執行緒
- a、多執行緒執行緒
- 嗯!這篇多執行緒不錯!伍執行緒
- java 多執行緒守護執行緒Java執行緒
- Java多執行緒-執行緒通訊Java執行緒
- Java多執行緒-執行緒狀態Java執行緒
- Java多執行緒(2)執行緒鎖Java執行緒
- java多執行緒9:執行緒池Java執行緒
- Java多執行緒之執行緒中止Java執行緒
- 多執行緒系列之 執行緒安全執行緒
- iOS 多執行緒之執行緒安全iOS執行緒
- 【java多執行緒】(二)執行緒停止Java執行緒
- kuangshenshuo-多執行緒-執行緒池執行緒
- iOS多執行緒之執行緒安全iOS執行緒
- Java多執行緒——守護執行緒Java執行緒