Я пытаюсь добавить некоторые вещи в Linux task_struct
.Как отлаживать в режиме ядра с помощью printk
В этой области я копирую строку из пользователя и пытаюсь сохранить ее в моей структуре.
Я пытаюсь отладить мой код, добавив printk
, который напечатает скопированную строку.
это часть отладки кода:
newTODO->TODO_description=(char*)(kmalloc(in_description_size+1,0));
if(newTODO->TODO_description){
kfree(newTODO);
return -1;
}
res=copy_from_user(newTODO->TODO_description, in_TODO_description, in_description_size);
if (res) // error copying from user space, 1 or more char werent copied.
{
printk(KERN_ALERT "function: create element failed to copy from user\n");
return -EFAULT;
}
newTODO->TODO_description[in_description_size]='\o';
printk(KERN_ALERT "the copied string is: %s \n",newTODO->TODO_description);
сусло inportent печати для меня
printk(KERN_ALERT "the copied string is: %s \n",newTODO->TODO_description);
будет работать?
понять printk:
, когда я буду работать мой тестовый файл с терминала всякий раз, когда printk будет вызван он напечатает выход прямо на рабочий терминал?
Использование 'dmesg', чтобы увидеть журнал ядра. –
'= '\ o';' смотрит подозрения. Вы имели в виду '= '\ 0';' (или просто '= 0;') – nos