通过QEMU/KVM GDB Stub进行内核调试

内核准备

内核配置

建议从源代码重新编译内核,这样可以更方便地进行源代码级调试;当然自己从发行版官网下载相应内核的调试符号亦可以,通常情况下只用于应急分析,比如crash dump分析等。

自己编译Linux内核的话,最好打开两个选项:

CONFIG_DEBUG_INFO=y
CONFIG_GDB_SCRIPTS=y

可通过make menuconfig来设置内核配置项,分别以5.12及6.1.0为例: 5.12: Linux kernel 5.12 menuconfig 6.1.0: Linux kernel 6.1.0 menuconfig

禁止编译优化

无法针对Linux内核禁止全局优化,但可以针对特定的源代码文件做禁止编译优化的处理,可通过以下方式达成:

在需要被调试的源代码文件头部增加下面一行代码:

#pragma GCC optimize ("O0")

或者修改其对应的Makefile,以文件名core.c为例:

CFLAGS_REMOVE_core.o := -O2
CFLAGS_core.o := -O0

镜像准备

建议通过libvirt来管理本地KVM虚拟机,这样使用起来非常方便,如果条件不允许的话亦可用qemu命令行方式来运行。

添加 gdb stub

下面的示例是以命令行方式来运行调试目标:

qemu-system-x86_64 -m 4096 -nographic -net user,hostfwd=tcp::44334-:22 -net nic -hda \
    debian-10.7.qcow2 -machine type=pc,accel=kvm -cpu host -smp 4 -gdb tcp:127.0.0.1:44333

“-gdb tcp:127.0.0.1:44333” 就是gdb stub的命令行参数,即gdb可连接localhost:44333来调试目标系统。

如果使用libvirt的话则需要修改QEMU配置,可通过命令virsh edit来进行修改,需要在末尾加上中间4行:

   </devices>

   <qemu:commandline>
    <qemu:arg value='-gdb'/>
    <qemu:arg value='tcp:localhost:44333'/>
  </qemu:commandline>

</domain>

另外还需要更改虚拟机配置文件的domain type,即将第一行从

<domain type='kvm'>

改为:

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>

修改内核启动项

本步骤主要为了禁止内核地址随机化,不然内核符号无法定位并正确绑定。可通过修改grub项完成,在安装新内核过程中会自加增加nokaslr及nopti,当然在编译内核时亦可直接禁止相应功能亦可。

root@T490:~# cat /etc/default/grub | grep nokaslr
GRUB_CMDLINE_LINUX_DEFAULT=&quot;noquiet nopti nokaslr console=ttyS0&quot;

最直接的方式就是直接修改/boot/grub/grub.cfg文件,或者在系统启动时手工编译grub启动项亦可:

root@T490:~# cat /boot/grub/grub.cfg | grep nokaslr
    linux   /boot/vmlinuz-5.10.14 root=UUID=c4072cd3-9ed9-4376-b85c-95d1306e817b ro  noquiet nopti nokaslr console=ttyS0,115200

host端准备

前面我们就完成了guest端即调试目标机的配置,然后就是准备host端,可以用gdb,亦可以用vscode等gui工具,甚至可以用Windows Visual Studio配合VisualKernel工具来调试Linux系统。

源代码及调试符号vmlinux

将相应源代码及调试符号vmlinux复制到host端即可,复制时注意软链接问题,比如:

vmlinux-gdb.py -> /BUILD/linux-5.12/scripts/gdb/vmlinux-gdb.py

设置gdb的auto-load路径

建议直接修改 ~/.gdbinit文件,当然手动执行亦可,当处理多个调试机时最好通过.gdbinit来保存配置:

matt@T490 /W/K/debian-10.7> cat ~/.gdbinit 
add-auto-load-safe-path /usr/share/gdb/python/gdb/
add-auto-load-safe-path /usr/share/gdb/python/
add-auto-load-safe-path /usr/share/gdb/
add-auto-load-safe-path /BUILD/linux-5.12
set auto-load python-scripts on
source /BUILD/pwndbg/gdbinit.py

我本地的调试环境里安装的是pwndbg,已配置好了python组件

启动gdb

cd /BUILD/linux-5.12; gdb ./vmlinux

在gdb中执行以下执行开启内核调试:

    target remote :44333

然后gdb会自动加载pwndbg并中断目标机: Linux kernel 5.12 gdb

在内核gdb scripts加载成功的情况下可以执行lx系列扩展命令以获取内核信息: Linux kernel 5.12 gdb scripts

可通过apropos lx查询相应的gdb scripts扩展命令,如lx-lsmod, 变量:$lx_current():

gdb> apropos lx
function lx_clk_core_lookup -- Find struct clk_core by name
function lx_current -- Return current task.
function lx_device_find_by_bus_name -- Find struct device by bus and name (both strings)
function lx_device_find_by_class_name -- Find struct device by class and name (both strings)
function lx_module -- Find module by name and return the module variable.
function lx_per_cpu -- Return per-cpu variable.
function lx_rb_first -- Lookup and return a node from an RBTree
function lx_rb_last -- Lookup and return a node from an RBTree.
function lx_rb_next -- Lookup and return a node from an RBTree.
function lx_rb_prev -- Lookup and return a node from an RBTree.
function lx_task_by_pid -- Find Linux task by PID and return the task_struct variable.
function lx_thread_info -- Calculate Linux thread_info from task variable.
function lx_thread_info_by_pid -- Calculate Linux thread_info from task variable found by pid
lx-clk-summary -- Print clk tree summary
lx-cmdline --  Report the Linux Commandline used in the current kernel.
lx-configdump -- Output kernel config to the filename specified as the command
lx-cpus -- List CPU status arrays
lx-device-list-bus -- Print devices on a bus (or all buses if not specified)
lx-device-list-class -- Print devices in a class (or all classes if not specified)
lx-device-list-tree -- Print a device and its children recursively
lx-dmesg -- Print Linux kernel log buffer.
lx-fdtdump -- Output Flattened Device Tree header and dump FDT blob to the filename
lx-genpd-summary -- Print genpd summary
lx-iomem -- Identify the IO memory resource locations defined by the kernel
lx-ioports -- Identify the IO port resource locations defined by the kernel
lx-list-check -- Verify a list consistency
lx-lsmod -- List currently loaded modules.
lx-mounts -- Report the VFS mounts of the current process namespace.
lx-ps -- Dump Linux tasks.
lx-symbols -- (Re-)load symbols of Linux kernel and currently loaded modules.
lx-timerlist -- Print /proc/timer_list
lx-version --  Report the Linux Version of the current kernel.

Linux kernel 6.0 gdb Linux kernel 6.0 gdb Linux kernel 6.0 gdb

gdb常用命令及调试技巧

常用命令

常用gdb指令:bt, disass, step, next, break/delete, print, x/[i/g/d]等,具体可查询gdb命令手册

断点设置

使用break命令可设置断点,支持以下几种命令格式:

  • break 函数名: break dump_stack
  • break source_file:line_number: break smith_hook.c:70
  • break 逻辑地址:break 0xffffffff81003010,可以强制break跳过符号/函数名识别

针对模块的调试,可以考虑在模块中增加不常用内核函数的调用,如dump_stack;模块加载前是无法设置断点的,但内核函数的调用是可以的,这样就可以在模块调用指定内核函数时触发断点,然后再通过add-symbol-file /path_to/ko_file base_address,base_address或通过lx-lsmod查询得到,即模块在内核中的内存位置,之后就可以访问模块内的符号了,如全局变量或内部函数

X86_64位环境调试32位虚拟机

需要在attach前设置目标及当前系统架构,如 set architecture i386:x86-64。建议安装gdb-multiarch,以免系统自带gdb不支持多种架构:

pwndbg> target remote :44323
Remote debugging using :44323
warning: Selected architecture i386 is not compatible with reported target architecture i386:x86-64
warning: Architecture rejected target-supplied description
Remote 'g' packet reply is too long (expected 312 bytes, got 608 bytes): 102b91c10......0000

pwndbg> set architecture i386:x86-64
The target architecture is set to "i386:x86-64".
pwndbg> target remote :44323
Remote debugging using :44323
0x00000000c1912b23 in default_idle () at arch/x86/kernel

16,427 条评论

  1. Услуги на дому особенно удобны пожилому человеку, больному в период восстановления, людям с ограниченной мобильностью и тем, кому врач назначил курс инфузионной терапии. Вызвать врача можно круглосуточно по телефону, оставив заявку оператору. Перед выездом специалист уточняет диагноз, симптомы, название препарата, дозировки, предыдущие реакции на лекарства и другие сведения, которые имеют значение для здоровья. Если требуется срочный вызов и присутствуют признаки острой угрозы жизни, выраженной интоксикации, нарушения сознания или тяжелого состояния, необходимо вызвать скорую помощь: капельница на дому не заменяет экстренное лечение в больнице.
    Узнать больше – https://kapelnitsa-na-domu-v-moskwe3.ru/

  2. Вывод из запоя в Санкт-Петербурге — профессиональная наркологическая помощь при длительном употреблении алкоголя, похмельного синдрома и выраженной алкогольной интоксикации. Лечение может проводиться на дому либо в клинике. Нарколог оценивает состояние пациента, продолжительность запоя, стадию зависимости, хронические болезни и подбирает лечение с учетом общей клинической картины. При наличии показаний назначается капельница, медикаментозное лечение, детоксикация и поддержка нервной, сердечно-сосудистой системы, печени и внутренних органов.
    Узнать больше – вывод из запоя на дому

  3. Интересно, есть ли тут специалисты по организации здравоохранения? Поделитесь опытом об эффективных подходах к менеджменту в здравоохранении? международная организация здравоохранения профсоюзная организация работников здравоохранения Кстати, нашел интересную статью про организацию здравоохранения. Думаю, будет полезно.

  4. Нарколог оценивает жалобы, пульс, артериальное давление, уровень сознания и признаки обезвоживания. Диагностика помогает определить, какой формат лечения будет безопасным. В тяжелой ситуации больному необходима скорая помощь, а обычный выезд врача на дому может быть недостаточен.
    Узнать больше – pomoshch-vyvod-iz-zapoya

  5. При многодневном запое продукты распада алкоголя создают нагрузку на печень, сердце, мозг, нервную систему и другие внутренние органы. У пациента нарушаются сон, питание, водно-солевой баланс, появляются тревога, тошнота, головная боль, слабость и признаки абстинентного синдрома. Вывод из запоя помогает стабилизировать физическое самочувствие, но лечение алкоголизма не заканчивается одной процедурой. Полноценное лечение зависимости предусматривает детоксикацию, работу с врачом, психотерапию, мотивацию и реабилитацию.
    Дополнительная информация – срочный вывод из запоя Санкт-Петербург

  6. Современные тренды менеджмента в сфере здравоохранения нужно учитывать при организации работы поликлиник. Ключевое значение имеют бережливые технологии для повышения качества услуг. руководитель управления здравоохранения https://invexo.ru Где можно пройти обучение по организации здравоохранения? Программы по организации здравоохранения и общественному здоровью позволят освоить современные методы.

  7. Медик должен учесть общую тяжесть абстиненции, возраст, стаж зависимости и прошлые эпизоды лечения. Не стоит ставить внутривенное средство по совету соседей или друзей: подобные действия могут привести к нежелательным реакциям. При серьезном ухудшении решение принимается исходя из безопасности, а не из желания обязательно остаться дома.
    Ознакомиться с деталями – http://vyyvod-iz-zapoya-kemerovo18.ru/

  8. Наркологическая служба в Кемерово оказывает услуги круглосуточно. Можно вызвать специалиста к дому или пройти лечение в стационаре клиники. Врач оценивает состояние пациента, длительность запоя, возраст, хронические заболевания, препараты, которые он принимает, и другие факторы. Схема выведения определяется индивидуально: одному пациенту подходит стандартная капельница на дому, другому необходима расширенная детоксикация, а при тяжелом течении врач рекомендует стационар. Такой подход позволяет выбрать наиболее безопасный и эффективный вариант.
    Узнать больше – https://vyvvod-iz-zapoya-kemerovo18.ru/

  9. Кто-нибудь проходил обучение по менеджменту в здравоохранении? Планирую изучить принципы бережливой поликлиники. Какие учебные материалы вам помогли? обучение организация здравоохранения и общественное бережливая поликлиника Хотелось бы услышать мнение практиков

  10. Перед началом лечения человек получает информацию о выбранном методе, сроке действия, возможных побочных реакциях, правилах поведения и ограничениях. Врач отвечает на вопрос, насколько вариант сочетается с сопутствующими заболеваниями и лекарственной терапией. Информированное согласие обязательно перед проведением вмешательства. Если требуется срочный вывод из запоя, сначала выполняется снятие абстинентного синдрома, а кодирование переносится на безопасный период. Просто провести укол без подготовки при наличии алкоголя в крови было бы неоправданно опасным.
    Узнать больше – лучшее кодирование от алкоголизма

  11. платформа для мониторинга ИИ Платформа для мониторинга видимости брендов измеряет реальный вес компании в медиа. Инструмент сравнивает ваши успехи с показателями конкурентов. Алгоритмы рассчитывают долю голоса в реальном времени. Визуализация данных помогает быстро принимать решения. Команды используют отчеты для защиты своих стратегий. Платформа учитывает авторитет каждого источника. Гибкие настройки позволяют анализировать конкретные категории. Обновление информации происходит без задержек. Инструмент опирается на проверенные цифры и факты. Прозрачность работы вызывает доверие руководства.

  12. Перед проведением процедур нарколог собирает анамнез и проводит первичный осмотр. Врач узнает, сколько дней продолжается запой, какой алкоголь пил больной, имеются ли хронические заболевания, аллергические реакции и опыт кодирования. При необходимости назначается анализ крови, экспресс-тест, ЭКГ и иная диагностика. Полученные данные позволяют подобрать эффективный и максимально безопасный способ детокса.
    Ознакомиться с деталями – помощь вывод из запоя

  13. Наркология объединяет медицинское лечение, психологию, психиатрию и технологии реабилитации. Основной комплекс помощи может включать очищение организма, медикаментозное лечение, диагностику, лечение абстинентного синдрома, консультацию психотерапевта, работу с мотивацией зависимого и последующее возвращение в социум. Если болезнь существует на протяжении нескольких лет, терапия обычно требует больше времени. Подробнее доктор объясняет пациенту, какие задачи решаются на каждом этапе и почему полный курс лечения не стоит заменять одной капельницей.
    Подробнее – наркологическая клиника наркологический центр

  14. Помощь врача нужна, если запой длится несколько дней, больному становится сложно самостоятельно отказаться от алкоголя, а попытки выйти из запоя сопровождаются выраженным похмельем. Чем дольше сохраняется запой, тем выше нагрузка на организм пациента. При алкоголизме нередко обостряются хронические заболевания, возникают нарушения сердечного ритма, сна, пищеварения, деятельности печени и нервной системы. В таком случае лечение лучше проводить под контролем нарколога.
    Изучить вопрос подробнее – врач вывод из запоя Санкт-Петербург

  15. Интересно, как у вас внедряются профстандарты в организации здравоохранения? Давайте обменяемся опытом по управлению процессами в мед. бережливая поликлиника https://cashwise.ru Может, знаете хорошие программы повышения квалификации?

  16. Продолжительное употребление алкоголя вызывает опасные последствия для здоровья из-за сильной алкогольной интоксикации, а также наносит вред многим другим факторам, влияющим на качество жизни. Со временем зависимому становится все сложнее вернуться к нормальному режиму, работать, общаться с близкими и жить без алкоголя. Если несколько лет запои повторяются регулярно, это может говорить о сформировавшемся алкоголизме, который требует не только снятия похмелья, но и системного лечения.
    Подробнее – вывод из запоя вызов на дом Кемерово

  17. Перед проведением процедур нарколог собирает анамнез и проводит первичный осмотр. Врач узнает, сколько дней продолжается запой, какой алкоголь пил больной, имеются ли хронические заболевания, аллергические реакции и опыт кодирования. При необходимости назначается анализ крови, экспресс-тест, ЭКГ и иная диагностика. Полученные данные позволяют подобрать эффективный и максимально безопасный способ детокса.
    Изучить вопрос подробнее – вывод из запоя на дому цена

  18. Продолжительный запой создает высокую нагрузку на печень, сердце, сосуды, головной мозг, нервную систему и органы пищеварения. На фоне регулярного поступления алкоголя нарушается баланс жидкости и электролитов, растет концентрация токсических продуктов распада этанола, появляются тремор, слабость, головная боль, тревога, бессонница, тошнота, рвота и колебания давления. Профессиональный вывод позволяет контролируемо прекратить употребление спиртного, провести детоксикацию и начать восстановление организма.
    Узнать больше – наркология вывод из запоя в Санкт-Петербурге

  19. Вызов врача на дому начинается с обращения в центр. Москва разделена на районы с разной транспортной доступностью, поэтому оператор заранее уточняет место выезда и согласует ориентировочное время приезда. Позвоните по номеру, указанному в разделе «Контакты», или оставьте заявку на сайте. Администратор перезвонит, ответит на вопросы, расскажет, какие документы подготовить, и уточнит, требуется ли срочный выезд.
    Подробнее – врач капельница алкоголь на дом

  20. Перед началом лечения человек получает информацию о выбранном методе, сроке действия, возможных побочных реакциях, правилах поведения и ограничениях. Врач отвечает на вопрос, насколько вариант сочетается с сопутствующими заболеваниями и лекарственной терапией. Информированное согласие обязательно перед проведением вмешательства. Если требуется срочный вывод из запоя, сначала выполняется снятие абстинентного синдрома, а кодирование переносится на безопасный период. Просто провести укол без подготовки при наличии алкоголя в крови было бы неоправданно опасным.
    Узнать больше – adres-kodirovaniya-ot-alkogolizma

  21. Как вы считаете, насколько важно обучение менеджменту в медицине? Интересуют ваши отзывы. региональный орган управления здравоохранением https://moneyvault.ru Сейчас внедряем принципы бережливой поликлиники — есть ли у кого практический опыт?

  22. Вопрос организации здравоохранения и общественного здоровья сегодня стоит особенно остро. Как вы считаете, где можно пройти качественное обучение по менеджменту в здравоохранении? организация здравоохранения и общественное здоровье переподготовка управление процессами в медицинской организации Современные подходы к управлению в медицине помогают оптимизировать процессы. Интересно услышать мнения специалистов.

  23. Вывод из запоя в Санкт-Петербурге — комплексная помощь при длительном приеме спиртного, выраженном похмельном синдроме и алкогольной интоксикации. Лечение можно организовать на дому или в стационаре клиники. Формат лечения выбирают с учетом тяжести самочувствия, продолжительности запоя, возраста пациента, наличия хронических болезней и противопоказаний. Выезд нарколога на дому позволяет быстро начать лечение без самостоятельной поездки в лечебное учреждение. Если домашнее лечение небезопасно, больному рекомендуют лечение в стационаре под наблюдением врача.
    Узнать больше – помощь вывод из запоя в Санкт-Петербурге

  24. Кто-нибудь проходил обучение по менеджменту в здравоохранении? Хочу разобраться в профстандартах. Какие учебные материалы вам помогли? управление в сфере здравоохранения https://juripedia.ru Сейчас столько предложений, что сложно выбрать

  25. Эффективный менеджмент в здравоохранении — это ключ к улучшению качества медицинских услуг. Сегодня особое внимание уделяется обучению специалистов по профстандарту организации здравоохранения и общественного здоровья. Внедрение принципов бережливого производства помогает улучшить работу поликлиник и больниц. ординатура организация здравоохранения и общественное здоровье https://wallety.ru Если вы хотите глубже изучить эту тему, рекомендую ознакомиться с полезными материалами.

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

  27. Капельница на дому «Элегия Мед» в Москве — медицинская услуга для людей, которым требуется внутривенное введение назначенного раствора в привычной домашней обстановке. Медицинский специалист приезжает по указанному адресу, оценивает текущее самочувствие, изучает документы и назначения, уточняет наличие хронической патологии и только затем определяет возможность проведения процедуры. Капельница на дому позволяет не тратить время на дорогу в клинику, если госпитализация или очный прием в стационаре не требуются. При этом безопасность остается приоритетом: используются стерильные материалы, одноразовые иглы, система для инфузии и препараты в соответствии с назначением врача.
    Узнать больше – капельница на дом анонимно

  28. В данной статье рассматриваются проблемы общественного здоровья и социальные факторы, влияющие на него. Мы акцентируем внимание на значении профилактики и осведомленности в защите здоровья на уровне общества. Читатели смогут узнать о новых инициативах и программах, направленных на улучшение здоровья населения.
    Прочесть заключение эксперта – rostov-na-donu premium clinic com

  29. Лечение в стационаре позволяет обеспечить постоянное медицинское наблюдение, расширенную диагностику и своевременное изменение назначений. Такой вариант особенно важен при длительном запое, выраженной абстиненции, тяжелых хронических заболеваниях, повторных срывах, психозе, судорожном синдроме или серьезном обезвоживании. В наркологической клинике специалисты могут контролировать состояние круглосуточно и быстрее реагировать на ухудшение показателей.
    Получить больше информации – вывод из запоя

  30. Planning to rent a car from HPN airport? Check out premium car rental options at hpn to get a hassle-free experience. Whether it’s a rental car for business or leisure, hpn rental car services can meet your needs. car rental at white plains airport (hpn) https://car-rental-hpn-aqx.com Book your rental car hpn today for a seamless journey!

  31. При продолжительном приеме спиртного накапливаются продукты распада этанола, нарушается баланс жидкости и электролитов, возрастает нагрузка на сердце и сосуды. Алкогольная интоксикация вызывает изменения сна, настроения и поведения. Иногда развивается психоз; психиатрия относит подобные острые состояния к ситуациям, требующим срочной оценки специалиста. В таких случаях лечение в стационаре наиболее безопасно.
    Изучить вопрос подробнее – vyvod-iz-zapoya-nedorogo-balashiha

  32. Выезд на дому часто выбирают пожилые пациенты, люди после тяжелого заболевания, лица с ограниченной мобильностью, а также клиенты, которым трудно покидать квартиру на несколько часов. Женщинам может быть удобнее получить отдельные медицинские услуги дома в спокойной обстановке; при этом схемы для женского организма подбираются по тем же принципам безопасности, что и для других групп. Возраст сам по себе не является показанием: врач учитывает состояние здоровья, хронические диагнозы и результаты анализа.
    Дополнительная информация – https://kapelnitsa-na-domu-v-moskwe2.ru/

  33. Интересно, есть ли тут специалисты по организации здравоохранения? Давайте обсудим об эффективных подходах к менеджменту в здравоохранении? организация здравоохранения в российской федерации https://finbizmoney.ru Если интересно, могу скинуть ссылку на актуальные курсы. Может, пригодится.

  34. В данной публикации мы поговорим о процессе восстановления от зависимости, о том, как вернуть себе нормальную жизнь. Мы обсудим преодоление трудностей, значимость поддержки и наличие программ реабилитации. Читатели смогут узнать о ключевых шагах к успешному восстановлению.
    Проверенные методы — узнай сейчас – premium clinic com

  35. Если у пациента сохраняются признаки опьянения, похмелья, абстинентного синдрома или интоксикации, кодирование откладывают до стабилизации. Детоксикация может проводиться амбулаторно, в стационаре или, если врач считает это допустимым, на дому. Капельница помогает ускорить выведение продуктов распада алкоголя, поддержать водно-электролитный баланс и снизить выраженность неприятных проявлений. При тяжелой интоксикации, риске осложнений, психозах или сочетании алкоголизма с наркоманией может понадобиться стационарное лечение и длительный медицинский контроль.
    Ознакомиться с деталями – moskva-kodirovka-ot-alkogolizma

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

  37. В данном материале представлены ключевые тенденции в сфере медицинской науки и практики. Вы узнаете о последних открытиях, инновационных подходах к терапии и важности профилактики заболеваний. Особое внимание уделено практическому применению новых методов в клинической практике.
    Уникальные данные только сегодня – частный вытрезвитель

  38. Коллеги, кто уже проходил обучение по менеджменту в здравоохранении? Хотелось бы обсудить по организации здравоохранения и общественному здоровью. магистратура организация здравоохранения кафедра организации здравоохранения Как у вас строится работа с общественным здоровьем?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注