2007年5月7日 星期一

<工作日誌> 2007.05.08 WSN Gateway程式--block.c的問題

進度:

找到block.c裡面D參數的一些bug,目前正在修正中

目前情況:

block.c是一支用來處理serial port資訊的程式,用在gateway 與 coordinator溝通。
之前發現以下兩個bug
1. block -D 會無緣無故停下來
2. block -D 會無緣無故從系統裡面消失

後來利用printf大法找到問題,分別是

1. 之所以會停下來是因為block裡面使用message queue,message queue會因為資源不夠而無法傳送,於是便停下來。message queue本身沒問題,程式也沒問題,只是要看怎麼修正。

2. process會從系統裡面被移除是因為開了太多次file,導致OS認為該process有問題而停下來。屬於程式本身的bug。


未來方向:

第二點容易修正,只要在開檔前確認檔案有關掉就好。但是第一點要修正必須要花時間,看看message queue怎麼運作並且加以改進。

沒有留言: