Как отладить проект на C с помощью Qt Creator?

#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 .