Как отправить сигналы программе, запущенной в режиме отладки в KDevelop

Я хочу проанализировать программу, которую я написал в KDevelop.
Я компилирую Программу и начинаю ее с

Щелкните правой кнопкой мыши по проекту CMake -> Debug as … -> Native Application.

Теперь программа работает в KDevelop, и я вижу вывод на консоли, встроенной в KDevelop.
Моя программа перестает работать, когда я нажимаю Ctrl+СMsgstr «(SIGTERM). Я могу нажать ее, когда запускаю программу в консоли вне KDevelop.

Как я могу отправить сигнал «SIGTERM» на встроенную консоль внутри KDevelop?

В качестве обходного пути я могу начать HTOP, выберите программу и отправьте оттуда SIGTERM, которая отлично работает, хотя было бы лучше иметь все функции в самом KDevelop.

0

Решение

Одним из возможных решений является:

  • Щелкните правой кнопкой мыши на CMake Project -> Debug as … -> Native Application.
  • Перейдите на вкладку «gdb» внутри KDevelop.
  • Нажмите «Pause» -Icon в правом углу, чтобы включить поле ввода «gdb» -Tab
  • Тип signal <Signal>например, signal SIGTERM
  • Программа продолжается и ловит отправленный сигнал.
1

Другие решения

Используйте команду kill, чтобы отправить сигнал процессу. kill -l должен предоставить вам список сигналов и их идентификаторы.

Например, во FreeBSD сигнал SIGTERM равен # 15, как показано этим выводом:

$ kill -l
1) SIGHUP       2) SIGINT       3) SIGQUIT      4) SIGILL       5) SIGTRAP
6) SIGABRT      7) SIGEMT       8) SIGFPE       9) SIGKILL     10) SIGBUS
11) SIGSEGV     12) SIGSYS      13) SIGPIPE     14) SIGALRM     15) SIGTERM
16) SIGURG      17) SIGSTOP     18) SIGTSTP     19) SIGCONT     20) SIGCHLD
21) SIGTTIN     22) SIGTTOU     23) SIGIO       24) SIGXCPU     25) SIGXFSZ
26) SIGVTALRM   27) SIGPROF     28) SIGWINCH    29) SIGINFO     30) SIGUSR1
31) SIGUSR2

Поэтому, чтобы отправить SIGTERM моему процессу, я ищу идентификатор процесса и затем отправляю ему команду kill, например, так:

kill -15 <process ID>
0

Вы можете отправить SIGINT изнутри KDevelop:

Run -> Interrupt

Однако вы не можете отправить любой другой сигнал.

Если вы считаете, что это полезная функция, создайте запрос пожеланий на bugs.kde.org — в конце концов включите прикрепленный патч: D

0
По вопросам рекламы [email protected]