原创 GDB調試多進程的fork+exec

通過一個實例來觀察協同進程,在程序中創建了兩個管道, 父、子進程各自關閉它們不需要使用的端口。 兩個管道一個用作協同進程的標準輸入,另一個用作它的標準輸出、子進程在調用dup2後使管道描述符移至其標準輸入和標準輸出, 然後調用execl。

原创 UNIX網絡編程——SOCKET API和TCP STATE的對應關係_三次握手_四次揮手及TCP延遲確認

在我們學習網絡基礎時,傳輸層的協議有TCP和UDP; 在Linux網絡編程中,我們使用socket API,實現網絡通信。 那麼:         socket API 和 TCP 協議中各個狀態是如何對應的呢?我們可以通過下圖

原创 ubuntu下配置NFS和TFTP連接omapl-138開發板

網上各種做法撲朔迷離,一般來說有這麼兩種方式: 1、通過在主機/虛擬機、開發板上分別佈置服務器、客戶端,使用mount命令直接加載·開發板上的已有·的文件系統; 2、只在主機/虛擬機上安裝nfs服務器,在開發板的內核支持nfs的前提下,通

原创 UNIX網絡編程——產生RST

產生RST的3個條件:1. 建立連接的SYN到達某端口,但是該端口上沒有正在監聽的服務。   如:IP爲192.168.1.33的主機上並沒有開啓WEB服務(端口號爲0x50),這時我們通過IE去訪問192.168.1.33,通過Wir

原创 UNIX網絡編程——shutdown 與 close 函數 的區別

 假設server和client 已經建立了連接,server調用了close, 發送FIN 段給client(其實不一定會發送FIN段,後面再說),此時server不能再通過socket發送和接收數據,此時client調用read,如

原创 Linux常用命令手冊

Linux常用命令手冊(下載源碼就到源碼網:www.codepub.com) NO 分類 PS1 命令名 用法及參數 功能註解 對應章節 1 文件管理 # ls ls -a 列出當前目錄下

原创 5種I/O模型

我們看到TCP客戶同時處理兩個輸入:標準輸入和TCP套接字。我們遇到的問題是就在客戶阻塞於(標準輸入上)fgets調用,服務器進程會被殺死。服務器TCP雖然正確的給客戶TCP發送了一個FIN,但是既然客戶進程正阻塞於從標準輸入讀入的過程

原创 GDB調試多進程、多線程

. 默認設置下,在調試多進程程序時GDB只會調試主進程。但是GDB(>V7.0)支持多進程的分別以及同時調試,換句話說,GDB可以同時調試多個程序。只需要設置follow-fork-mode(默認值:parent)和detach-on-f

原创 定期小總結

    暑假過的比想象中的還要快,研一的這一年裏,感覺自己真的學到很很多,充實了很多,但覺得自己還是菜鳥,還有一年就要找工作了。    自己對linux方向的c/c++編程很非常感興趣,以後就朝着這個目標linux下軟件開發不斷努力。  

原创 tcpdump命令的使用

工作中一直在用tcpdump,感覺非常方便,今天心血來潮百度了一下tcpdump的用法,才發現原來還有這麼多強大的功能自己都不知道,那叫一個汗啊。 以此文作爲備份,記錄一些新知道的用法,各位網友誰有新的用法,也可以及時告知我進行補充,

原创 內存對齊的思考

內存對齊 結構體的內存佈局依賴於CPU、操作系統、編譯器及編譯時的對齊選項。結構體內部成員的對齊要求,結構體本身的對齊要求。最重要的有三點 (一)成員對齊。對於結構體內部成員,通常會有這樣的規定:各成員變量存放的起始地址相對於結構

原创 Wireshark基本介紹和學習TCP三次握手

Wireshark基本介紹和學習TCP三次握手 之前寫過一篇博客:用 Fiddler 來調試HTTP,HTTPS。 這篇文章介紹另一個好用的抓包工具wireshark, 用來獲取網絡數據封包,包括http,TCP,UDP,等網絡

原创 ADS中調試中斷函數時進不了中斷服務函數的解決辦法

最近在ADS中調試ARM裸機中斷,遇到了一個很大的問題-無法進入中斷服務程序。 在調試觸摸屏裸機程序過程中遇到了很奇怪的問題: 我用JLINK在線調試時,當選擇開關打到nandflash時可以成功跳到中斷服務程序, 但是當選擇開關打到no

原创 AXD Jlink仿真注意的錯誤

多人根據jlink的手冊來設置使用ADS,但都不能在S3c2440 上面運行成功。 下面的設置能成功運行。供大家參考。 ADS  項目屬性設置:

原创 vim常用命令

類型 命令/解釋 移動光標類命令 h 光標左移一個字符 }: 光標移至段落開頭 l 光標右移一個字符 {: 光標移至段落結尾 space 光標右移一個字符 nG: 光標移至第n行首