Александр77 1 November 10, 2024 Posted November 10, 2024 · Report post Здравствуйте! Ранее в режиме отладки, в листе программы был курсор показывающий текущую строку. Теперь куда-то запропастился, остался лишь в дизассемблере (На скрине, завершение загрузки (Ctrl+D)). Подскажите пожалуйста, как вернуть пропажу? Quote Share this post Link to post Share on other sites More sharing options...
AndyBig 8 November 10, 2024 Posted November 10, 2024 · Report post Выполнение остановлено на инструкции, которая не соответствует началу какой-либо строки исходника в Си. Quote Share this post Link to post Share on other sites More sharing options...
jcxz 342 November 10, 2024 Posted November 10, 2024 · Report post 50 минут назад, Александр77 сказал: Подскажите пожалуйста, как вернуть пропажу? Чтобы появились связи исходник+дизасм, нужно полностью перекомпилить проект и перезагрузить. А также проверить наличие галки "Include debug information in output". PS: Странный какой-то код (последовательность ассемблерных команд) у ТС в начале main: 4шт. 32-битных команд подряд?... весьма странно.... Интересно - а куда направлен этот выход: ? Quote Share this post Link to post Share on other sites More sharing options...
Александр77 1 November 10, 2024 Posted November 10, 2024 · Report post 1 час назад, AndyBig сказал: Выполнение остановлено на инструкции, которая не соответствует началу какой-либо строки исходника в Си. Какое выполнение - оно не началось еще ведь, т.к. картинка сразу после загрузки в МК. 1 час назад, jcxz сказал: Чтобы появились связи исходник+дизасм, нужно полностью перекомпилить проект и перезагрузить. Вроде не раз перекомпилировал и перезагружал (в МК). Результат тот же. Наверное не так компилирую (Rebuild All, Compile, Make) чего-то видимо не хватило... 1 час назад, jcxz сказал: А также проверить наличие галки "Include debug information in output". Установлена в линковщике 1 час назад, jcxz сказал: Интересно - а куда направлен этот выход: Никуда. Этот кусок честно скопипастил, как элемент ожидания установки признака включения тактового узла. Еще раз попробовал предварительно очистить с последующим ребилдом - заработало. Спасибо за подсказки. Quote Share this post Link to post Share on other sites More sharing options...
jcxz 342 November 10, 2024 Posted November 10, 2024 · Report post 7 минут назад, Александр77 сказал: Какое выполнение - оно не началось еще ведь, т.к. картинка сразу после загрузки в МК. Оно именно остановлено. На инструкции, которую компилятор считает первой в main(). А началось выполнение естественно - с начала кода - с reset-вектора, прописанного в таблице прерывания. 7 минут назад, Александр77 сказал: Вроде не раз перекомпилировал и перезагружал (в МК). Результат тот же. Судя по вашим картинкам, компилятор не видит связи между исходниками и результирующим кодом. И поэтому не может их сопоставить. Обычно связь восстанавливается после полной пересборки. Чего уж вы там навертели с файлами/путями или ещё чем-то - вам виднее. Может какие-то пути кириллицей написали. Может файлы в проект включили с полными путями (вместо относительных), а затем переместили проект. Или ещё чего наделали. 9 минут назад, Александр77 сказал: Никуда. Этот кусок честно скопипастил, как элемент ожидания установки признака включения тактового узла. А если таймаут случится - куда будет выход? А если таймаута в принципе не будет - зачем этот код вообще? Quote Share this post Link to post Share on other sites More sharing options...
AndyBig 8 November 10, 2024 Posted November 10, 2024 · Report post 47 minutes ago, Александр77 said: Еще раз попробовал предварительно очистить с последующим ребилдом - заработало. Еще такое может быть при сильных оптимизациях. И, разумеется, если убрана галочка "Включать в вывод отладочную информацию". Quote Share this post Link to post Share on other sites More sharing options...
Александр77 1 November 10, 2024 Posted November 10, 2024 · Report post 2 часа назад, AndyBig сказал: Еще такое может быть при сильных оптимизациях. И, разумеется, если убрана галочка "Включать в вывод отладочную информацию". Оптимизация действительно была High, вывод отладочной установлен и не менялся. 3 часа назад, jcxz сказал: Чего уж вы там навертели с файлами/путями или ещё чем-то - вам виднее. Может какие-то пути кириллицей написали. Может файлы в проект включили с полными путями (вместо относительных), а затем переместили проект. Или ещё чего наделали. Путей кириллицей стараюсь избегать лет уже под 20. 3 часа назад, jcxz сказал: А если таймаут случится - куда будет выход? А если таймаута в принципе не будет - зачем этот код вообще? Наверное Вы правы и этот кусок лишний. Quote Share this post Link to post Share on other sites More sharing options...