Затмение с отладчиком Intel Fortran
Моя проблема заключается в следующем:
Я хочу использовать отладчик idb intel с eclipse, чтобы шаг за шагом проходить мой код, как idb -gui
делает. Я уже пытался реализовать решение, которое я нашел, где я заменяю прямой вызов idb -gdb скриптом:
#!/bin/bash
exec/usr/local/soft/intel/fc/10.0.025/bin/ifort/idb -gdb "$@"
Это на самом деле работает, когда он запускает мою программу, пока она не доходит до командной строки. Теперь я получаю следующую ошибку:
Target request failed: {R,T}xThread terminated.
Именно тогда я потратил впустую целый день, пытаясь решить эту проблему, и решил опубликовать это. Кто-нибудь может помочь мне еще с некоторыми умными советами? как вы интегрировали idb в затмение?
ура, Дэвид
3 ответа
Не специалист, но в случае, если это поможет, эта ветка упоминает (хотя это для FORTRAN 11):
Я думал о твоей проблеме еще немного, и я думаю, что я не воспринял твою формулировку проблемы так буквально, как ты это хотел.
Вы говорите, что код, который вы не видите в отладчике, находится вMODULE
файл определения? Если это так, я бы сказал, что проблема связана с общими ограничениями использования gdb в качестве отладчика Fortran. Если вы используете отладчик Intel, вы сможете перейти к сгенерированному на Intel Fortran коду, который содержится вMODULE
,Я вижу, вы используете версию 11.0 Intel Fortran. Есть несколько вариантов для вас.
- Intel Fortran 11.0 поставляется с новой автономной версией графического интерфейса IDB. Вы можете использовать его, если не возражаете против построения в Eclipse, но отладки в другом инструменте. Вы вызываете новую версию GUI с "
idb
”, Если вы инициализировали свою среду для использования отладчика Intel.- Intel Fortran 11.0 также предоставляет версию отладчика для командной строки, которую вы можете вызвать с помощью команды "
idbc
”, Опять же, при условии, что вы инициализировали свою среду для использования отладчика Intel.- Третья альтернатива, которую вы можете попробовать, - это изменить конфигурацию запуска отладки в Photran, чтобы она вызывала
idbc
вместоgdb
, Это не то, что официально поддерживается Intel, но когда я пытаюсь сделать это на примере, аналогичном тому, который, по моему мнению, имеет место, он работает нормально. Опять же, это не поддерживается Intel, поэтому, если вы столкнетесь с другими проблемами в этой конфигурации, не было бы никакой помощи. Если он работает достаточно хорошо для вас, он позволяет вам делать все в Eclipse / Photran.
Если вы хотите попробовать это, инициализируйте свою среду для использования отладчика Intel, прежде чем запускать Eclipse, запустите Eclipse, откройте конфигурацию отладки и выберите вкладку отладчика. Затем в области "Параметры отладчика"Main
Вкладка, изменитьGDB debugger
" от "gdb
Доidbc
".
В этой ветке также упоминается (в случае, если она имеет какое-либо влияние на вашу проблему):
idb
GUI, кажется, запускает бэкэнд под названиемiidb
, который подражаетgdb
достаточно хорошо для Eclipse IDE.
iidb
необходимо загрузить определенные общие библиотеки.
Я сделал это, добавив/opt/intel/Compiler/11.1/038/idb/lib/intel64
к переменной средыLD_LIBRARY_PATH
до запуска Eclipse.
Ваш путь должен соответствовать вашему конкретномуifort
монтаж.В вашей конфигурации отладки, вкладка "
Debugger
, "поле"GDB debugger
", заменитьgdb
сiidb
, Если вы хотите, чтобы он остановился при запуске, попробуйте заменить основной наMAIN__
,
Прошло девять лет с момента самого последнего ответа на этот вопрос. В настоящее время корпорация Intel выпустила наборы инструментов oneAPI в качестве инструментов разработки программного обеспечения следующего поколения, которые последовали за наборами инструментов Intel Parallel Studio XE и заменили их.
В этом случае
Debugger
должно быть
gdb-oneapi
как показано ниже:
$ module load debugger
$ module list
Currently Loaded Modules:
1) lmod 2) debugger/2021.5.0
$ which gdb-oneapi
/opt/intel/oneapi/debugger/2021.5.0/gdb/intel64/bin/gdb-oneapi
Прошло 3 года с тех пор, как был задан вопрос, но этот обходной путь подойдет всем, у кого возникли проблемы с eclipse и id b, особенно в OS X.
Замена gdb
с idbc
на Debugger
Вкладка в Eclipse отлично работает на Linux.
Если вы работаете в OS X 10.7+, где нет поддержки компилятора Intel Fortran в eclipse, создайте проект makefile, создайте цель с пользовательским makefile, используйте ifort
с флагами -g -fpic -Wl,-no_pie
(эти флаги необходимы для OS X 10.7+), замените gdb
с idb
и это в конечном итоге сработает.