У меня есть простой проект Hello World в IDE Code :: Blocks, который я компилирую с помощью компилятора Intel C ++.
Я установил опцию компилятора ‘/ Zi’ в настройках сборки проекта, чтобы я мог отлаживать приложение с точками останова. Однако никаких контрольных точек не достигается.
Похоже, что в объекте невозможно найти символы отладки.
Однако они корректно достигаются, когда я перехожу на использование компилятора gcc.
Что мне здесь не хватает? Разве это не должно работать как есть?
[Обновить]Кажется, работает на Linux, но не на Windows. Я провел такой же тест на простом проекте с компилятором Intel и правильным вариантом компилятора, и я смог достичь точек останова. Есть ли какая-то причина, по которой у Windows будет проблема?
Есть ли какая-то причина, по которой у Windows будет проблема?
В UNIX отладочная информация обычно полностью документирована и часто стандартна (например, Linux использует DWARF).
В Windows компиляторы Microsoft используют .PDB (База данных программы) файлы, которые полностью недокументированы и являются собственностью. GDB не может их использовать.
Я не знаю, какой формат отладочной информации генерирует компилятор Intel, но есть вероятность, что этот формат только понято idb
,
Фактически, вы не можете смешивать и сопоставлять GDB ни с одним из компиляторов Microsoft или Intel.