Когда я нажимаю правой кнопкой мыши на переменной в отладчике, я получаю сообщение об ошибке выше, ссылаясь на адрес x7fffffffe01e
(каждый раз). Это также происходит, если я просто набираю ссылку.
Я использую это неправильно, или есть ошибка? Я попытался прочитать статью затмения об использовании монитора памяти, но я подозреваю, что он был написан для среды Java, а не C++.
Я использую Elipse 3.8.1 на linux mint 15 (3.11.0-12-generic) на Samsung NP900X3E Ultrabook
CDT:
C/C++ Поддержка GCC Cross Compiler 1.1.0.dist org.eclipse.cdt.build.crossgcc.feature.group Eclipse CDT C/C++ Поддержка GNU Toolchain Build 8.1.1.dist org.eclipse.cdt.gnu.build.feature.group Eclipse CDT C/C++ Поддержка отладки GNU Toolchain 7.1.1.dist org.eclipse.cdt.gnu.debug.feature.group Eclipse CDT C/C++ Улучшения в просмотре памяти 2.2.0.dist org.eclipse.cdt.debug.ui.memory.feature.group Eclipse CDT C/C++ Поддержка тестирования модулей 7.0.0.dist org.eclipse.cdt.testsrunner.feature.feature.group Eclipse CDT CDT Общая поддержка GDB 7.0.0.dist org.eclipse.cdt.gdb.feature.group Eclipse CDT CDT Visualizer Framework 1.0.0.dist org.eclipse.cdt.visualizer.feature.group Eclipse CDT
Это происходит для указателя с плохим значением (например, потому что он неинициализирован), когда вы разыгрываете его (поэтому адрес недействителен в адресном пространстве процесса). Если это не указатель, а локальная переменная, это означает, что вы повредили свой стек вызовов. Это также может указывать на некоторое повреждение памяти.
Попробуйте также использовать valgrind
Таким образом, в вашей программе есть ошибки. Читайте о неопределенном поведении
g++ -Wall -g
ли вы свое приложение в командной строке (используяg++ -Wall -g
и, возможно,Makefile
)? Вы читали документацию по GDB ? Вы запускалиgdb
на терминале (возможно, какgdb -tui
)? Затмение может действительно усложнить вашу работу ....