Я заметил, что для node.js есть функция автоматического подключения отладчика, которую я хотел бы использовать, если это возможно. Однако я не думаю, что могу использовать автоматическое присоединение для автоматического запуска отладчика после повторной компиляции моей программы. Я компилирую свою программу, используя C / C ++ / Fortran, используя make-файлы (и аналогичные), поэтому после запуска make я получаю обычный исполняемый файл (linux). Затем я выполняю этот двоичный файл и часто хочу сразу же отладить его после этого. У меня есть полный двоичный путь к переменной среды $ myprog = / home / user / my-dev / bin / myApp.
Итак, что я делаю, так это запускаю отладку с помощью Attach to process, и каждый раз, когда мне нужно найти правильный процесс в раскрывающемся списке, но я делаю это слишком много раз каждый день, каждый час, это становится утомительным и хотелось бы что-то умнее, автоматичнее:
Вместо автоматического присоединения (только для node.js, насколько я понимаю) я хотел бы изменить свой launch.json, чтобы он автоматически извлекал идентификатор процесса, используя, например, команда оболочки: 'pgrep -x $ myprog' и, возможно, необязательно привязать ее к сочетанию клавиш ... Я предполагаю, что строку processId: $ {command: pickProcess} необходимо изменить, см. пример конфигурации ниже:
{
"name": "(gdb) Attach (any)",
"type": "cppdbg",
"request": "attach",
"program": "/home/user/my-dev/bin/myApp",
"processId": "${command:pickProcess}",
"MIMode": "gdb",
"miDebuggerPath": "/usr/bin/gdb"
},
Можно ли изменить файл launch.json, чтобы код VS понимал, что переменная processId должна быть заменена выводом оболочки из: 'pgrep -x $ myprog' (очевидно, этот PID изменяется после каждой компиляции и выполнения программы, которая должна быть отлажен)? Если так, я думаю, его также можно привязать к сочетанию клавиш ... Кто-нибудь знает, как этого добиться?