在windows上用visual stdio debug openssl

爲了方便分析openssl的code,單步的debug也許是一個不錯的方式,這樣能夠很清楚的看到每一步各個變量的值,相關的狀態,尤爲是經過IDE工具的debug,對於gdb不熟的同窗來講絕對是很是的方便。windows

openssl 能夠在windows下編譯,因此固然也能在windows下用VS debug。可是由於openssl的編譯是經過Makefile的方式,不是建了一個VS的solution,因此不能很方便的可視化的加個斷點,而後 F5就開始debug。可是VS的斷點原理也很簡單,就是插入一條軟件中斷的彙編,因而咱們也效仿之。工具

在想要調試的地方,插入一條這樣的彙編。spa

__asm int 3.net

注 意結尾沒有分號。而後在從新編譯。完成以後運行編譯好的openssl.exe加上必要的參數,若是程序運行到斷點所在的行,就會中斷,並彈出詢問是否要 debug仍是close。選擇debug,則會選用系統的默認debug tool來進行debug。在個人系統上,自動調出來VS2005來調試,而後就可使用VS的debug功能來debug openssl了。debug

另 外,默認的openssl makefile是沒有不會link source code到編譯以後的debug文件中的,因此咱們得手動修改ms/nt.make中的CFLAGS,加上/Zi 這個編譯選項,而後才能在debug的時候看到source code,不然就只能看到彙編了。調試

openssl_debug

相關文章
相關標籤/搜索