Отладка дочерних процессов с помощью CLion в LinuxLinux

Ответить
Anonymous
 Отладка дочерних процессов с помощью CLion в Linux

Сообщение Anonymous »

Linux, Wine, C
  • У меня есть исполняемый файл Windows, работающий с Wine в Linux.
  • Windows Исполняемый файл вызывает собственную динамическую библиотеку Linux (winelib, .dll.so).
  • Встроенная динамическая библиотека Linux использует некоторый код C, который я хочу отладить в CLion.
  • CLion работает непосредственно в той же ОС Linux, что и отлаженное приложение. (Удаленная разработка не используется.)
Проблема в том, что CLion теряет контроль над процессом, поскольку Wine перезагружается с помощью вызова execve во время его инициализация. Я думаю, что это не проблема, связанная с Wine, но ее причиной является создание самого подпроцесса.
Что я пробовал:
  • Добавление сна и привязка процесса вручную после выполнения. Хотя он присоединяет отладчик CLion к дочернему процессу, точки останова по-прежнему не срабатывают и остаются серыми. (В подсказке говорится, что этой строке кода не соответствует ни один исполняемый код. Она останется прежней, если я перенесу точку останова в другое место.)
  • Изменение параметров отладчика CLion во всех комбинациях.
    Использование raise(SIGTRAP); в отлаживаемом коде. В отладчике это не остановилось.
  • Настройка gdb (того, что используется CLion) с помощью файла .gdbinit. Пробовал и в домашней папке, и в папке проекта, ничего не помогло. Конфигурация была:

Код: Выделить всё

set detach-on-fork off
set follow-fork-mode child
Ничего не помогло. Кроме того, я не могу найти в Интернете решения, которое я еще не пробовал.

Подробнее здесь: https://stackoverflow.com/questions/792 ... n-on-linux
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»