Нужна помощь в подключении GDB к моему проекту - PullRequest
0 голосов
/ 28 августа 2009

Я использую VS2k8 для написания и компиляции (но не запуска) программы с использованием библиотек MPICH2 в Vista x64. Затем я использую mpiexec из командной строки для запуска программы (только с 1 процессом в целях отладки), и я хотел бы присоединить к ней gdb. Простое использование attach или gdb --pid=### не работает (я получаю ошибку Can't attach to process), возможно потому, что VS не компилирует код с правильной информацией отладки. С другой стороны, несмотря на несколько сеансов Google, мне еще не удалось найти фактическую командную строку, которую VS использует для компиляции, поэтому я не могу просто войти и отредактировать ее.

Обратите внимание, что единственная причина, по которой я использую VS, заключается в том, что я не мог получить g ++ для поиска библиотек MPI при попытке компиляции из командной строки, тогда как VS требовалось всего несколько щелчков мыши, чтобы все работало. (Да, я пробовал переключатели -I и -l, но безрезультатно)

Все, что мне нужно, это подключить gdb к процессу, выполняющему мою программу MPI, мне все равно, как это делается. Любая помощь приветствуется.

Ответы [ 2 ]

2 голосов
/ 28 августа 2009

GDB не будет работать, но вы можете использовать Gflags , чтобы запускать вашу программу из отладчика (VS, windbg, ...) при каждом запуске. Существует также опция реестра, позволяющая сделать это напрямую: HKLM \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Параметры выполнения файла образа \ ImageFileName \ Debugger

2 голосов
/ 28 августа 2009

Бинарные форматы cl.exe (Visual Studio) и gdb, к сожалению, несовместимы. Вы не сможете использовать gdb для отладки, если не сможете найти способ перестроить код с помощью gcc. В то же время вы можете напрямую отлаживать свою программу в Visual Studio, перейдя в Инструменты> Присоединить к процессу (или нажав Ctrl + Alt + P)

...