2017-02-23 42 views
0

我想了解kaa端點源代碼,我的示例是「Datacollection demo」。無法調試kaa_client_create()函數

我讀kaa_client_create功能,代碼如下

  1. main(),我叫kaa_client_create功能類似:

    kaa_client_t *kaa_client = NULL; 
    printf("[Creat kaa client] %s\n",!kaa_client? "NULL":"not NULL"); 
    kaa_error_t error = kaa_client_create(&kaa_client, NULL); 
    printf("[Creat kaa client] %s\n",!kaa_client? "NULL":"not NULL"); 
    
  2. kaa_client_create功能,我添加調試線如下:

    kaa_error_t kaa_client_create(kaa_client_t **kaa_client, kaa_client_props_t *props) 
    { 
        printf("I'm here \n"); 
        KAA_RETURN_IF_NIL2(kaa_client, props, KAA_ERR_BADPARAM); 
        ..... 
    } 
    
  3. 結果控制檯:

    [Creat kaa client] NULL 
    [Creat kaa client] not NULL 
    Default sample period: 5 seconds 
    Viettq's first kaa app sampled temperature: 26 
    

讀控制檯,我認爲kaa_client_create函數被調用,因爲kaa_client沒有指向NULL,但爲什麼我不看到我的調試行「我在這裏」?

你能幫我理解,會發生什麼?

我的源代碼在這裏:在Ubuntu https://www.dropbox.com/s/obg68nmon31wdt7/kaa_myfirstproject.tar.gz?dl=0

提取

source run_all.sh 

謝謝提前!

Viet

+1

你有沒有重建* kaa_client_create的代碼?你有沒有重建*你的*代碼,所以它使用新建的'kaa_client_create'? –

+0

如果您提供的代碼可以通過填充空格很容易地形成一個*可編譯的測試用例*,您不認爲它會更好地利用多個人的時間來執行該工作,而不是期望*我們所有人*爲你做?如果您提供的代碼*無法輕易地被塑造成一個*可編譯的測試用例*,那麼您是否認爲有足夠的信息可以爲我們提供有用的答案?也許你的問題在別處...... – Sebivor

+0

@Someprogrammerdude我已經重建了它,謝謝,我附上了我的項目,你可以試試,只需在ubuntu上提取kaa_myfirstproject.tar.gz文件,然後運行源代碼run_all.sh。 源代碼在這裏: https://www.dropbox.com/s/obg68nmon31wdt7/kaa_myfirstproject.tar.gz?dl=0 –

回答

0

不幸的是,DropBox鏈接不再存在。

但是,從您提到的代碼片段看來,您似乎修改了Econais平臺的kaa_client_create()函數,該函數不應用於POSIX(Linux Ubuntu,如您所述)。

如果我的猜測是正確的,您需要將printf()添加到src/kaa/platform-impl/posix/kaa_client.c文件中,並使用該更改重新構建客戶端。