看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) C語言、Ubuntu10.04 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) Igh EtherCAT master 問題(Question): 甲. main.c中的 ecrt_master_receive(master)這個函數呼叫照理說應該跳到ecrt.h 乙. 可是使用GDB的實際執行它卻是跳到ethercat-1.5.2\lib\master.c 中執行 丙. 照我的理解真正實作接收封包的部分應該是在ethercat-1.5.2\master\master.c 中 的程式碼 所以我搞不清楚實際上的運作方式,照我對C語言的理解它應該是執行 甲 這個結果 可是使用GDB卻是執行 乙 這個結果 但是我對於整個行為的協定理解應該是要跳到 丙 才是 這讓我一團混亂 程式碼(Code):(請善用置底文網頁, 記得排版) https://hackpad.com/EtnerCAT-Igh-master-niX7PUPCNrW -- 「不需要讓青少年有判斷力和批判力。只要給他們汽車、摩托車、美麗的明星、刺激的音 樂、流行的服飾,以及對同伴的競爭意識就行了。剝奪青少年的思考力,根植他們服從指 導者命令的服從心才是上策。讓他們對批判國家、社會和指導者保持著一種動物般原始的 憎惡。讓他們深信那是少數派和異端者的罪惡。讓他們都有同樣的想法。讓他們認為想法 和大家不同的人就是國家的敵人……」 by 阿道夫·希特勒 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.123.102.107 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1431673847.A.FAF.html
Feis: 會期望程式在 .h 裡面執行, 應該是不知道 .h 的作用 ? 05/15 15:19
Feis: 如果真的跑到 .h 裡面, 那他的執行的內容是甚麼 ? 05/15 15:19
Feis: 至於乙跟丙的話, 應該是因為他類似有兩個程式在跑, 你用的 05/15 15:29
Feis: 在 user space 之類的, 只是把東西接出來 05/15 15:30
Feis: 我不知道這在幹嗎的. 不過我猜你想追的是 kernel module 類 05/15 15:32
Feis: 的. (水晶球快告訴我吧~) 05/15 15:33
e12518166339: 因為想實際知道接受封包的行為所以使用gdb 05/15 15:35
e12518166339: 這樣的情況底下我是否就無法完整的trace它的行為了 05/15 15:36
Feis: 當然不是, 你應該只是找錯 gdb 的對象了. 05/15 15:38
e12518166339: 所以是我設定錯中斷點嗎?但是行為應該在那裏是接收 05/15 15:53
longlongint: 我又想推坑組合語言了 05/16 11:59
TobyH4cker: XD 05/16 13:57
TobyH4cker: 水晶球啊水晶球,我要不要推組合語言呢? 05/16 13:58