Я пытаюсь отладить проект в среде Eclipse IDE. После настройки путей к проекту я могу правильно собрать и запустить. Однако, когда я пытаюсь отладить, я получаю эту ошибку:
ERROR: Cannot open file for reading: /Users/manfredo/Documents/Eclipse_workspace/Formind/formind-model/src/'../../formind_proj/FrenchGuiana_Paracou_Lianas/lowlandTropicalForest_9pft/formind_parameters/paracouForest_controlPlots_9pft.par' . File: ./for_iommparset.h Line: 1356
libc++abi.dylib: terminating with uncaught exception of type std::runtime_error: ERROR: Cannot open file for reading: /Users/manfredo/Documents/Eclipse_workspace/Formind/formind-model/src/'../../formind_proj/FrenchGuiana_Paracou_Lianas/lowlandTropicalForest_9pft/formind_parameters/paracouForest_controlPlots_9pft.par' . File: ./for_iommparset.h Line: 1356
С терминала я могу запустить свой исполняемый файл в GDB в обычном режиме:
[src]$ gdb ./formind
GNU gdb (GDB) 8.0.1
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin16.7.0".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from ./formind...done.
(gdb) r ../../formind_proj/FrenchGuiana_Paracou_Lianas/lowlandTropicalForest_9pft/formind_parameters/paracouForest_controlPlots_9pft.par
Starting program: /Users/manfredo/Documents/Eclipse_workspace/Formind/formind-model/src/formind ../../formind_proj/FrenchGuiana_Paracou_Lianas/lowlandTropicalForest_9pft/formind_parameters/paracouForest_controlPlots_9pft.par
[New Thread 0x1403 of process 13482]
warning: unhandled dyld version (15)
Initialize lookup vectors
=================== Start Simulation=======================
...
=============== Simulation Successful =====================
Runtime: 0.809137 seconds
[Inferior 1 (process 13482) exited normally]
(gdb)
Есть идеи о решении? Я запускаю Eclipse Photon на MacOS 10.12.6
Вероятно, вы отлаживаете двоичный файл с неверными аргументами в Eclipse.
Сравните путь к файлу в Eclipse:
/Users/manfredo/Documents/Eclipse_workspace/Formind/formind-model/src/'../../formind_proj/FrenchGuiana_Paracou_Lianas/lowlandTropicalForest_9pft/formind_parameters/paracouForest_controlPlots_9pft.par'
и путь к файлу в автономном gdb:
../../formind_proj/FrenchGuiana_Paracou_Lianas/lowlandTropicalForest_9pft/formind_parameters/paracouForest_controlPlots_9pft.par
Я предполагаю, что путь к файлу должен быть таким же, как и для автономного gdb.
Частичное решение можно найти здесь. В основном он устанавливает аргументы в .gdbinit. Однако, поскольку список аргументов одинаков как для отладки, так и для запуска, это означает, что, когда я запускаю приложение, я не добавляю аргумент и, следовательно, получаю ошибку.
Извините, я не знаю, как настроить аргументы отладчика в Eclipse.
Хорошо, в любом случае из обсуждения в предыдущей ссылке похоже, что это нерешенная ошибка. Думаю, единственный вариант - ждать исправления.
Когда я запускаю приложение в отладчике, я делаю:
gdb ./formind
, а затемr paracouForest_controlPlots_9pft.par
, потому что приложение должно запускаться с этим аргументом. Теперь, если я удалю этот аргумент из списка аргументов в конфигурации отладчика Eclipse, мое приложение запустится, но немедленно завершится, поскольку у него нет входных параметров. Как их добавить, если не в разделе аргументов параметров отладчика?