2017-02-23 5 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 функция I добавьте строку отладки следующим образом:

    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, но почему я не см. мою строку отладки «Я здесь»?

Не могли бы вы помочь мне понять, что случилось?

Мой исходный код здесь: https://www.dropbox.com/s/obg68nmon31wdt7/kaa_myfirstproject.tar.gz?dl=0

Extract в убунту

source run_all.sh 

Спасибо заранее!

Viet

+1

Вы * перестроили * код, где находится 'kaa_client_create'? Вы перестроили * свой * код, чтобы он использовал недавно созданный 'kaa_client_create'? –

+0

Если код, который вы предоставили, может быть легко скомпилирован в * скомпилированный тестовый тест *, заполнив пробелы, не считайте ли вы, что лучше использовать время нескольких людей для * вы * для выполнения этой работы, чем ожидать * все мы *, чтобы сделать это за вас? Если код, который вы предоставили *, не может легко быть выстроен в компилируемый тестовый файл *, вы полагаете, что для получения полезного ответа нам достаточно информации? Возможно, ваша проблема кроется в другом месте ... – Sebivor

+0

@Someprogrammerdude Я восстановил его, спасибо, я прикладываю свой проект ниже, вы можете попробовать его, просто извлеките файл kaa_myfirstproject.tar.gz на ubuntu и запустите source run_all.sh. Исходный код здесь: https://www.dropbox.com/s/obg68nmon31wdt7/kaa_myfirstproject.tar.gz?dl=0 –

ответ

0

К сожалению, ссылка DropBox не существует.

Но из фрагментов кода, о которых вы упомянули, похоже, что вы изменили функцию kaa_client_create() для платформы Econais, которая не должна использоваться на POSIX (Linux Ubuntu, как вы упомянули).

Если моя догадка верна, вам нужно добавить printf() в файл src/kaa/platform-impl/posix/kaa_client.c и перестроить клиент с этим изменением.