#c #macos #qt #qt-creator
#c #macos #qt #qt-creator
Вопрос:
Я пытаюсь использовать Qt Creator в macOS для отладки проекта на C , но, похоже, он застрял на чем-то. Проверьте скриншот ниже.
Я хотел бы увидеть содержимое массива символов.
Я делаю что-то не так? Есть предложения?
Комментарии:
1. Интеграция LLDB с QtCreator, похоже, глючит.
2. кажется, ошибка в самом QtCreator, правильно ли xcode отлаживает это?
3. xcode работает нормально
Ответ №1:
Я испытывал то же самое в прошлом при попытке отладки на устройствах Android.
Если вы не используете последнюю версию QtCreator, вам следует это сделать.
Если проблема не устранена, вы должны сообщить об ошибке Qt: https://bugreports.qt.io /. Тогда, мы надеемся, они исправят это для следующего выпуска.
Ответ №2:
Я использую CDB для отладки того же кода, и он работает нормально.
Ответ №3:
Судя по желтым предупреждающим треугольникам на вашем рисунке, модель кода предупреждает вас о том, что вы используете неинициализированные данные. (Я действительно удивлен, что ваш компилятор позволил вам это сделать.) Мне интересно, был ли оптимизирован массив, который вы пытаетесь прочитать, и отладчик запутался в том, что отображать.
Я бы предложил инициализировать этот массив и посмотреть, сможет ли отладчик затем показать вам содержимое.
Ответ №4:
Я вижу три потенциальные проблемы с вашим кодом:
Ошибка № 1: вы не инициализируете charset
нулем (используя memset
), поэтому он будет содержать непредсказуемые значения.
Ошибка № 2: вы никогда delete
charset
не используете массив, поэтому ваша доступная память будет становиться все меньше и меньше по мере запуска программы. (Вы можете исправить эти две ошибки, объявив bool charset[256];
)
Потенциальная ошибка # 3: val
является char
. Так что, если char
подписано по умолчанию в вашей системе, то val
может быть отрицательным и не подходит для использования в качестве индекса массива.
Но я не знаю, почему вы не можете просмотреть содержимое charset
.