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