У меня были действительно тяжелые времена с такими ошибками, которые просто не имеют никакого смысла, и еще больше с попыткой выяснить, как работает отладчик Code :: Blocks. Если есть какой-либо способ заставить его отображать содержимое указателей или иметь возможность переключаться между переменными областей, тогда мои проблемы уже решены, хотя альтернативы всегда приветствуются.
Помогите мне, ребята, разбрасывание кодов по всему коду — самое нелепое и вызывающее безумие бремя за всю историю. D |
редактировать: ОС Windows
VS2012 экспресс бесплатно как в пиве.
г ++
http://gcc.gnu.org/
«Коллекция компиляторов GNU включает в себя внешние интерфейсы для C, C ++, Objective-C, Fortran, Java, Ada и Go, а также библиотеки для этих языков (libstdc ++, libgcj, …). GCC изначально был написан как компилятор для операционной системы GNU. Система GNU была разработана для 100% свободного программного обеспечения, свободного в том смысле, что она уважает свободу пользователя «.
Если есть какой-нибудь способ заставить его показывать содержимое указателей
Да. В Code :: Blocks вы должны иметь возможность щелкнуть правой кнопкой мыши и указать указатель в списке «Watches» и выбрать «Указатель разыменования». Если указатель является членом объекта, вам, возможно, придется добавить его вручную, щелкнув правой кнопкой мыши в списке «Наблюдения» и введя полную ссылку на элемент.
// Type 'pA->int1' in the 'Add watch' and code::blocks should add it.
class A {
public:
int int1;
};
int main()
{
A * pA = new A;
}
Чтобы добавить к другим ответам (очевидно, GDB …), LLDB лицензируется в стиле BSD, что является более разрешительным. Это часть Инфраструктура компилятора LLVM. очень похож на GDB (см. сравнение).
После вашего редактирования: оно еще не готово для окон, но усилия предпринимаются, поэтому это должно быть скоро.