久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎么在Linux終端下調試C語言技巧

168次閱讀
沒有評論

共計 2346 個字符,預計需要花費 6 分鐘才能閱讀完成。

這期內容當中丸趣 TV 小編將會給大家帶來有關怎么在 Linux 終端下調試 C 語言技巧,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1、strace

這個功能很強大,能夠看到很多底層調用,便于分析問題:

舉例:

[wangbin@localhost pas]$ strace -p 10472
Process 10472 attached - interrupt to quit
futex(0x4113be8, FUTEX_WAIT, 10482, NULL
 unfinished ... 
Process 10472 detached

我們可以看出這個進程已經死鎖了,所以 strace 命令非常有用,特別是網絡程序。

2、tcpdump

在分析 fastcgi 程序時,我們利用這個命令來查看 tcp 包的情況:

[root@localhost ~]# tcpdump -i lo -s 1500 port 9000
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on lo, link-type EN10MB (Ethernet), capture size 1500 bytes
15:23:16.901004 IP localhost.localdomain.50867   localhost.localdomain.9000: S 3482201970:3482201970(0) win 32767  mss 16396,sackOK,timestamp 2296841391 0,nop,wscale 7 
15:23:16.901025 IP localhost.localdomain.9000   localhost.localdomain.50867: S 3473410857:3473410857(0) ack 3482201971 win 32767  mss 16396,sackOK,timestamp 2296841391 2296841391,nop,wscale 7 
15:23:16.901039 IP localhost.localdomain.50867   localhost.localdomain.9000: . ack 1 win 256  nop,nop,timestamp 2296841391 2296841391 
15:23:16.901150 IP localhost.localdomain.50867   localhost.localdomain.9000: P 1:1377(1376) ack 1 win 256  nop,nop,timestamp 2296841391 2296841391 
15:23:16.901170 IP localhost.localdomain.9000   localhost.localdomain.50867: . ack 1377 win 256  nop,nop,timestamp 2296841391 2296841391 
15:23:16.901214 IP localhost.localdomain.9000   localhost.localdomain.50867: P 1:97(96) ack 1377 win 256  nop,nop,timestamp 2296841391 2296841391 
15:23:16.901222 IP localhost.localdomain.50867   localhost.localdomain.9000: . ack 97 win 256  nop,nop,timestamp 2296841391 2296841391 
15:23:16.901236 IP localhost.localdomain.9000   localhost.localdomain.50867: F 97:97(0) ack 1377 win 256  nop,nop,timestamp 2296841391 2296841391 
15:23:16.901822 IP localhost.localdomain.50867   localhost.localdomain.9000: F 1377:1377(0) ack 98 win 256  nop,nop,timestamp 2296841392 2296841391 
15:23:16.901836 IP localhost.localdomain.9000   localhost.localdomain.50867: . ack 1378 win 256  nop,nop,timestamp 2296841392 2296841392

我們通過這個命令可以發現是 9000 端口主動關閉了連接,這說明在另一端保持連接是沒有效果的。

3、core 文件

這個作用就是像取款機旁邊的攝像機,能夠記錄下程序崩潰時的場景,對于分析高難度問題非常有用,不過用這個,一定要權限配置正確了。

4、gdb

gdb -p 進程號,可以去調試正在執行中的進程,功能也很強大。也就是說,只要你上線的程序編譯的時候加上了 -g,并去掉了優化參數,你就可以在上線的時候調試某一個進程,比如 nginx 進程。

5、log 文件

這是最常用的方法,也是最土的方法,不過對于調試還是非常有用的。

上述就是丸趣 TV 小編為大家分享的怎么在 Linux 終端下調試 C 語言技巧了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-25發表,共計2346字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 曲松县| 绥江县| 舒兰市| 林州市| 西乌珠穆沁旗| 平度市| 兖州市| 新泰市| 土默特左旗| 义马市| 鄂尔多斯市| 衡水市| 泸州市| 沾益县| 宁安市| 喀什市| 衡阳县| 青州市| 晋宁县| 肥乡县| 南靖县| 汝城县| 邵阳县| 田东县| 岳池县| 山东| 辽宁省| 望都县| 静海县| 尖扎县| 麻阳| 恭城| 阳曲县| 运城市| 高台县| 祁阳县| 凌源市| 雷波县| 通州市| 托里县| 道孚县|