![]() |
Модераторы: xvr |
![]() ![]() ![]() |
|
rvny |
|
|||
Новичок Профиль Группа: Участник Сообщений: 41 Регистрация: 5.4.2007 Репутация: нет Всего: нет |
Здравствуйте!
Есть ли среды разработки в линуксе или возможности подобные microsoft visual studio: Т.е. в режиме отладки не только смотреть и изменять переменные, но и добавлять код/удалять код/модифицировать и в дальнешем пошагово продолжать отлаживать программу (с изменным кодом) без повторной остановки программа и запуска с перекомпиляцией. Или в линуксе к сожалению только для просмотра значений можно использовать kdevelp, qdevelop в режиме отладки? |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 16 Всего: 196 |
На сколько мне известно, под Linux не существует средств (по крайней мере бесплатных), позволяющих модифицировать код во время отладки и автоматически его подцеплять.
KDevelop, Code::Blocks и др. позволяют просматривать значения переменных. Не удивлюсь, если и изменять, но я этим никогда не пользовался (или просто забыл). |
|||
|
||||
GrayCardinal |
|
|||
Фигасе ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3039 Регистрация: 9.11.2003 Репутация: 8 Всего: 58 |
rvny,
Странно. А какой смысл в модифицировании кода во время выполнения ? Может проще поставить пару assert'ов ? Это сообщение отредактировал(а) GrayCardinal - 10.6.2007, 04:06 |
|||
|
||||
powerfox |
|
|||
![]() I wanna fork() ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3990 Регистрация: 1.10.2005 Где: Санкт-Петербург Репутация: 5 Всего: 97 |
rvny, kdbg. Но сомневаюсь, что такая возможность там есть (в доках не видел).
|
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 3 Всего: 93 |
вообще то возможности студии "на лету" модифицировать код во время отладки к с++ отношения не имеет - это привилегия .net кода. при модификации unmanaged с++ кода, AFAIK, студия просит пересборку проекта.
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Mayk |
|
||||||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 5 Всего: 134 |
Incremental link действительно имеет отношение к с++ не более чем к фортрану. В конце концов .exeшники собирают linker'ы. VS вполне сносно позволяет модифицировать немного umanaged кода в рантайме. Поиск в гугле говорит, что в природе есть
Из док-ии по названному dbx
Поиск по ключевым словам " sun studio linux fix continue " даёт
Так что есть основания полагать что fix'n'continue в linux мире существует. Про другие IDE и более свежие версии sun studio искать лень. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
||||||
|
|||||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 3 Всего: 93 |
Mayk, точно технологию не знаю, но, вроде как "онлайн" модификация исходника реализуется посредством рефлексии, которую поддерживает .net, но не поддерживает c++(не дай Б-г такое счастье
![]() -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
вообще говоря модифицирование кода задача тривиальная
не может быть, чтобы в GDB этой операции не было -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 3 Всего: 93 |
MAKCim, че, правда что ль тривиальная? в С++?? а откуда такие выводы?
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
archimed7592,
как? ![]() Это сообщение отредактировал(а) MAKCim - 11.6.2007, 18:56 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: нет Всего: 43 |
![]()
|
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
nerezus,
![]() -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 3 Всего: 93 |
MAKCim, чего как? или это пример как модифицировать? дык речь о том, что среда сама интерактивно перекомпилирует, пересобирает и каким-то макаром биндит срарое состояние программы на новый образ. проблема в том, что в с++ очень много ньюансов со стеком, с исключениями и тому подобных граблей. если задача и выполнима, то уж точно она не тривиальна.
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
да модифицирование кода - действительно тривиальная задача, и я это показал вопрос о том, как это использовать, не стоял, однако я проблемы не вижу -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 3 Всего: 93 |
запись в область памяти, в которой располагается код - задача действительно тривиальная. вопрос о самомодификации тоже не стоял ;) я именно об осмысленной модификации говорил, а это - задача уже далеко не тривиальная. ну вот смотри, удалю я определение какой-нибудь переменной, которая сейчас(момент исполнения, в который решили модифицировать код) находится в области видимости. тогда в ещё не модифицированном образе нужно выполнить деструктор для удалённого объекта. а если деструктор бросит исключение? а как сбиндить старое состояние процесса на новой образ? я вижу одни проблемы... -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Программирование под Unix/Linux" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |