Emacs + GDB + SCons + пошаговая отладка

При компиляции проекта через make-файл с помощью команды компиляции Emacs, когда gdb запускается на результирующем двоичном файле, приложение может выполняться пошагово. Однако при сборке с использованием большого проекта с SCons попытка пошагового выполнения не работает, поскольку Emacs, похоже, не знает, какие файлы загружать или как они связаны с двоичным файлом.

Что нужно сделать, чтобы выполнить шаг в Emacs? Если Emacs изначально не может поддерживать SCons, то как это можно сделать вручную; make должен использовать какой-то механизм для оповещения Emacs о наличии файла.


person Jonathan    schedule 09.02.2011    source источник
comment
Вы уверены, что параметры компиляции make и scons совпадают? Похоже, что в вашей сборке scons отсутствуют символы отладки (в gcc используйте параметр -g).   -  person Dave Bacher    schedule 09.02.2011
comment
@ dave-bacher Пожалуйста, оставьте это как ответ, чтобы я мог отдать вам должное.   -  person Jonathan    schedule 11.02.2011
comment
Спасибо. Я не видел ваш комментарий до только сейчас. @dave-bacher не показал ваш ответ в моем почтовом ящике. Я думаю, вам нужно использовать @Dave Bacher (или, может быть, просто @Dave).   -  person Dave Bacher    schedule 11.02.2011
comment
@DaveBacher Я считаю, что это либо имя, либо нет пробелов. См. blog.stackoverflow.com/2010/01/new-improved-comments-with- ответить   -  person Trey Jackson    schedule 11.02.2011


Ответы (2)


Вы уверены, что параметры компиляции make и scons совпадают? Похоже, что в вашей сборке scons отсутствуют символы отладки (в gcc используйте параметр -g).

person Dave Bacher    schedule 11.02.2011

Сконами не пользуюсь. Я не могу не спросить, выполнили ли вы интеграцию Scons IDE, как указано в разделе Работа с Emacs. и раздел XEmacs. В нем говорится, что Scons строится в другом каталоге, который Emacs не просматривает по умолчанию, поэтому вам нужно переместить файлы, чтобы Emacs просмотрел их. Но это для навигации по сообщениям об ошибках сборки. Я надеюсь, что это работает и для gdb.

person vpit3833    schedule 09.02.2011
comment
Да, это сделано. У Дэйва Бачера был ответ, я держу это открытым только для того, чтобы дать ему возможность потребовать это. - person Jonathan; 10.02.2011