eclipse с отладчиком 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.

Это когда я потратил впустую около целого дня пытаясь решить эту проблему и решил опубликовать на so. Кто-нибудь может помочь мне с некоторыми разумными советами? как вы интегрировали idb в eclipse?

ура, Дэвид!--4-->

2 ответов


не специалист, но в случае, если это помогает, эта тема упоминает (хотя это для FORTRAN 11):

я думал о вашей проблеме еще немного, и я думаю, что я не воспринимал ваше заявление о проблеме так буквально, как вы, возможно, имели в виду.
Вы говорите, что код, который вы не видите в отладчике, находится в определение? Если это так, я бы сказал, что проблема связана с общими ограничениями использования 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, но когда я пробую это на примере, похожем на то, что я думаю о вашей ситуации, это работает o.к. Опять же, это не поддерживается Intel, поэтому, если вы столкнетесь с другими проблемами в этой конфигурации, помощи не будет. Если он работает достаточно хорошо для вас, хотя, это позволит вам сделать все в Eclipse / Photran.
    Если вы хотите попробовать, инициализируйте среду для использования отладчика Intel перед запуском Eclipse, запустите Eclipse, откройте конфигурацию отладки и выберите вкладку отладчик. Затем в "отладчик настройка", "Main "tab, change"GDB debugger" от "gdb "to"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 на MAIN__.


3 года прошло с тех пор, как был задан вопрос, но этот обходной путь будет работать для тех, кто имеет проблемы с eclipse и idb, особенно на 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 и это в конечном итоге сработает.