Пытаюсь заменить eclipse на "Qt creator".
Использую связку "Qt creator 3.4.1" + "bleeding-edge-toolchain-150324 4.9.3 20150303 (prerelease)" + "openocd-0.8.0" + "stlink-v2".
Сборка и прошивка работают. Отладка: брейкпоинты ставятся/удаляются, но если во время исполнения программы поставить/удалить брейкпоинт в неактивной части программы, получаю следующую картину:
брейкпоинт ставится/удаляется, курсор отладчика перемещается на строку, исполняемую в данный момент времени, а мне это не нужно. Т.е., предположим, есть такой кусок кода:
Код
int main()
{
doNothing();
while(1)
{
}
return 0;
}
Если запустить программу на исполнение, поставить или удалить брейкпоинт на "doNothing();", отладчик перемещает курсор на цикл "while(1){}" (текущая исполняемая строка). Когда в программе имеется больше одного модуля, отладка сильно затрудняется: при снятии/удалении брейкпоинта в неактивном модуле, отладчик прыгает в активный и продолжает исполнение.
При использовании "eclipse Luna Service Release 2 (4.4.2)" + "bleeding-edge-toolchain-150324 4.9.3 20150303 (prerelease)" + "GNU Arm eclipse plugin" + openocd-0.8.0 + st-link-v2 такой проблемы с отладкой не возникает.
В настройках gdb (через меню qt creator'a) включен асинхронный режим, дана команда openocd "monitor poll". Скорее всего проблема как-то связана с асинхронным режимом работы отладчика, но ответ пока не нашел.
Интересует следующее: был ли у кого-то успешный опыт настройки отладки в Qt creator и как можно победить данную проблему?