Советы по отладке приложения для Linux на Windows? - PullRequest
0 голосов
/ 13 ноября 2009

Я пытаюсь найти источник ошибки, обнаруженной в приложении с открытым исходным кодом.

Мне удалось собрать и запустить сборку на моем компьютере с Windows, но у меня возникла проблема с поиском места разборки, где проблема.

Я пробовал три разных отладчика (WinDbg, OllyDbg и VisualStudio), и каждый из них в значительной степени дает мне одну и ту же информацию.

Итак, учитывая, что у меня есть исходный код, что я могу сделать для отладки живого приложения? Если приложение было написано на C, как я могу проверить структуры данных?

Поддерживает ли какой-либо из перечисленных выше отладчиков загрузку символов отладки gcc?

Мне кажется, что я что-то делаю неправильно. Я действительно не хочу пытаться отлаживать это приложение в оптимизированной сборке ...

Ответы [ 4 ]

1 голос
/ 13 ноября 2009

Простой ответ: если вы не можете запустить его, лучшее, что может сделать любой инструмент, - это отладка ошибок времени компиляции. Это даже если у вас есть источник.

Из вашего описания очевидно, что ошибка, которую вы пытаетесь устранить, является ошибкой во время выполнения (а не во время компиляции), так что вы сможете ее запустить. Если ваше приложение не может работать в Windows, вы не должны пытаться отлаживать его в Windows.

Это, как говорится, использование чего-то вроде cygwin, как предположил RageZ, вероятно, является лучшим выбором. Затем просто отладьте программу, как в Linux.

НТН

1 голос
/ 13 ноября 2009

есть некоторый порт GDB от cygwin или MinGW почему бы вам не попробовать напрямую с gdb?

0 голосов
/ 13 ноября 2009

Если все остальное терпит неудачу, вы все равно можете поместить много записей в код, где вы обнаружили ошибку, и лучшее в этом то, что это работает даже в режиме выпуска. Только не забудьте удалить строки регистрации, когда вы исправили ошибку.

0 голосов
/ 13 ноября 2009

Как вы это сделали на Windows?

Не могли бы вы попробовать собрать с MSVC? Затем вы можете создать отладочную версию и легко ее отладить - графический отладчик MSVC довольно хорош.

...