Отладка скомпилированного проекта 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.

Другие вопросы по тегам