教你用vscode調試redis代碼. 逐行學習效率高


 

2021-05-01,9點51

自己寫測試debug redis代碼:
錯誤:
/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o: In function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status

好像是必須寫一個main函數才能編譯.

哇成功了!~

舉一個例子:
我要調試zipmap.c代碼

1.找到他所有的依賴.這個文件比較好, 只依賴zmalloc.c
2.看他的代碼.發現最后有一行為了方便我們用已經寫好的.
#ifdef ZIPMAP_TEST_MAIN
下面就是main函數了.記住gcc一定要有main函數才能編譯成功.
所以我們再這樣上面加上這個定義即可.打開下面的函數.
寫上這個#define ZIPMAP_TEST_MAIN 啟動測試.
3. cd 進入src目錄 然后gcc zmalloc.c zipmap.c -g直接陳宮
4. ./a.out 直接看到結果
5.配置 .vscode/launch.json 里面: "program": "${workspaceFolder}/src/a.out",
6.斷點打到zipmap.c里面main函數里面第一行.
7.運行debug即可.直接進來了!!!!!!!這回可以精細的玩redis了.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM