GDB и DDD - разница в поведении?
От: MaxEd Россия http://www.dhost.info/msiu/
Дата: 29.10.06 13:05
Оценка:
Пытаюсь запустить программу под отладчиком gdb. Он падает, не успев (вроде бы) добраться до main (во всяком случае, на breakboint'e, поставленном на main, он не тормозит) без комментариев. Точнее, выдаётся строчка вроде:
6843 gdb (stopped)
В списке процессов появляется gdb [defunct].
Причём запущенная программа, которую собирался отлаживать, спокойно работает дальше!

Теперь, запускаю на неё же, на программу, DDD. А вот с ним всё в порядке, всё замечательно работает. Теперь внимание, вопрос — как такое бывает, если DDD — всего лишь оболочка над GDB, и что надо сделать, чтобы gdb нормально заработал? (мне этого очень хочется, потому что пишу программу в KDevelop, а там отладка через gdb).

Полезная информация: программа использует PThreads. ОС: Mandrake Linux 2006, комплиятор: GCC 4.0
Re: GDB и DDD - разница в поведении?
От: DarkProger  
Дата: 30.10.06 08:22
Оценка:
Пересобери gdb с поддержкой pthread.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: GDB и DDD - разница в поведении?
От: __MasteR__ Россия  
Дата: 30.10.06 11:57
Оценка:
Здравствуйте, MaxEd, Вы писали:

ME>Полезная информация:

Может это и будет для тебя дико звучать, но интерактивный отладчик только мешает отлаживать. Когда только начинал писать под unix, то тоже сильно не хватало, теперь и под виндой не использую, и знакомые пишут код в VS, но отладчиком не пользуются. Вот так то.
Re[2]: GDB и DDD - разница в поведении?
От: McQwerty Россия  
Дата: 30.10.06 14:38
Оценка:
Здравствуйте, __MasteR__, Вы писали:

ME>>Полезная информация:

__M>Может это и будет для тебя дико звучать, но интерактивный отладчик только мешает отлаживать. Когда только начинал писать под unix, то тоже сильно не хватало, теперь и под виндой не использую

Конечно, как им пользоваться, если его нет?

А насчёт сообщения "Stopped+" — была такая штука, если запускать gdb из под mc, если из под "голой" консоли — то нормально.
Re[3]: GDB и DDD - разница в поведении?
От: MaxEd Россия http://www.dhost.info/msiu/
Дата: 31.10.06 05:25
Оценка:
Здравствуйте, McQwerty, Вы писали:

MQ>Здравствуйте, __MasteR__, Вы писали:


ME>>>Полезная информация:

__M>>Может это и будет для тебя дико звучать, но интерактивный отладчик только мешает отлаживать. Когда только начинал писать под unix, то тоже сильно не хватало, теперь и под виндой не использую
Очень может быть, но мне, видимо, ещё очень долго до этого состояния расти... Во всяком случае, пока это меня в основном бесит, а пишу под Линукс я переодически уже на протяжении 4-5 лет.

MQ>А насчёт сообщения "Stopped+" — была такая штука, если запускать gdb из под mc, если из под "голой" консоли — то нормально.

Не, запускаю из под консоли, без mc.
Re[2]: GDB и DDD - разница в поведении?
От: MaxEd Россия http://www.dhost.info/msiu/
Дата: 31.10.06 05:26
Оценка:
Здравствуйте, DarkProger, Вы писали:

DP>Пересобери gdb с поддержкой pthread.

Пересобрать — это, конечно, можно, но почему же DDD нормально в этой ситуации работает?! Ведь он пользуется всё тем же gdb, не пересобирая его... Может, ключик какой есть?
Re[3]: GDB и DDD - разница в поведении?
От: __MasteR__ Россия  
Дата: 31.10.06 07:02
Оценка:
Здравствуйте, McQwerty, Вы писали:

MQ>Конечно, как им пользоваться, если его нет?

Читай внимательней:
1. не пользуюсь и под виндой, потому что неудобно с ним;
2. я не один такой.

А человеку советую просто попробовать. Я тоже долго мучал отладчики под линукс, пока не попробовал без них. Просто в винде как среду какую-нибудь запускаешь, так там сразу тебе и отладка и все такое, даже и мысли в голову не приходит, а оно надо? У отладчика много чего неудобного, в частности проблематична отладка многопоточных приложений.
Re[3]: GDB и DDD - разница в поведении?
От: vnp  
Дата: 01.11.06 18:23
Оценка:
Здравствуйте, MaxEd, Вы писали:

ME>Здравствуйте, DarkProger, Вы писали:


DP>>Пересобери gdb с поддержкой pthread.

ME>Пересобрать — это, конечно, можно, но почему же DDD нормально в этой ситуации работает?! Ведь он пользуется всё тем же gdb, не пересобирая его...

Совершенно не очевидно. Этих gdb в системе может быть черт знает сколько.

ME>Может, ключик какой есть?


А хоть что-нибудь под ним можно отладить? hello-world, например?
Вообще, то обстоятельство, что gdb (stopped) наводит на грустные мысли о том, что этот gdb собран как-то криво, так что к совету пересобрать присоединяюсь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.