Журнал LinuxFormat - перейти на главную

LXF134:Review6

Материал из Linuxformat
Перейти к: навигация, поиск

UndoDB 3.0

Не меч­та­лось ли вам иной раз вер­нуть вре­мя вспять, для от­лад­ки за­вис­шей про­грам­мы? Ник Вейч на­шел ин­ст­ру­мент для та­ких пу­те­ше­ствий.

Недоста­ток обыч­но­го от­лад­чи­ка в том, что ошиб­ка на­хо­дит­ся слиш­ком позд­но: про­грам­ма уже «упа­ла», нуж­но воз­вра­щать­ся и на­чи­нать сна­ча­ла. От­лад­чик UndoDB обес­пе­чи­ва­ет запись ка­ж­до­го ша­га про­грам­мы, что по­зво­ля­ет дви­гать­ся по кон­троль­ным точ­кам не толь­ко впе­рёд, но и на­зад.

Вы в пол­ной ме­ре оцените его мощь, осоз­нав, что мож­но за­дать (но­вин­ка дан­ной вер­сии) об­рат­ные точ­ки от­сле­жи­вания [watchpoint]. Хм, на ка­кой там ста­дии эта пе­ре­мен­ная вы­шла из-под кон­тро­ля? Те­перь мож­но без тру­да пе­ре­ме­щать­ся на­зад во вре­мени, сво­дя слож­ные тру­до­ём­кие по­иски к про­стой коман­де.

Од­на из осо­бен­но­стей ра­бо­ты от­лад­чи­ков, осо­бен­но с ин­те­рак­тив­ны­ми гра­фи­че­ски­ми про­грам­ма­ми – пе­ре­груз­ка про­цес­со­ра. Ведь запи­сы­ва­ет­ся всё и вся, и при­ло­жение «тор­мо­зит» иногда до пол­ной оста­нов­ки. Пре­ж­де UndoDB с тру­дом справ­лял­ся с от­лад­кой слож­ных гра­фи­че­ских или ре­сур­со­ем­ких про­грамм, но эта вер­сия силь­но улуч­ше­на. Ещё од­на бе­да – при запи­си боль­шо­го ко­ли­че­ства ин­фор­ма­ции пе­ре­пол­ня­ет­ся па­мять. Те­перь запись идёт в коль­це­вой бу­фер: при его пе­ре­полнении наи­бо­лее ста­рые дан­ные уда­ля­ют­ся.

Толь­ко по­про­буй­те

Как пра­ви­ло, про­грам­ми­сты неохот­но ме­ня­ют ин­ст­ру­мен­ты. По­это­му в UndoDB хит­ро­ум­но ис­поль­зу­ет­ся стан­дарт­ный на­бор команд GDB, так что под­ме­ны и не за­ме­тишь (осо­бые коман­ды при­ме­ня­ют­ся лишь с мно­го­по­точ­ны­ми при­ло­жения­ми).

UndoDB ра­бо­та­ет так­же со сред­ством про­смот­ра от­ла­доч­ных дан­ных DDD – доста­точ­но лишь вве­сти пе­ре­клю­ча­тель --debugger undodb-gdb, и всё долж­но быть за­ме­ча­тель­но. Толь­ко в кон­со­ли при­дёт­ся вво­дить коман­ды имен­но UndoDB. Ес­ли вы про­во­ди­те от­лад­ку в дру­гой сре­де, по­про­буй­те экс­пе­ри­мен­таль­ную под­держ­ку GDB 7.0: с этим до­полнением от­лад­чик встраи­ва­ет­ся в па­ке­ты ти­па Eclipse.

Дру­гие но­вин­ки вклю­ча­ют спо­собность от­ла­жи­вать 64‑бит­ные при­ло­жения, или при ра­бо­те на 64‑бит­ных систе­мах от­ла­жи­вать 32‑бит­ные про­грам­мы: от­па­да­ет необ­хо­ди­мость на­страи­вать несколь­ко эк­зем­п­ля­ров сре­ды про­грам­ми­ро­вания.

Но­вая вер­сия от­лад­чи­ка под­дер­жи­ва­ет коман­ды про­цес­со­ров SSE4. Их при­менение не ог­раничи­ва­ет­ся муль­ти­ме­диа-при­ло­жения­ми и вклю­ча­ет функ­ции шиф­ро­вания и оп­ти­ми­за­ции 64‑бит­ных систем.

Воз­мож­но­сти, ко­то­ры­ми UndoDB мо­жет обо­га­тить ва­шу сре­ду про­грам­ми­ро­вания, бес­цен­ны (сколь­ко сто­ит день про­сроч­ки про­ек­та, вы знае­те), но раз­ра­бот­чи­ки от­кры­то­го ПО по­лу­ча­ют стар­то­вую вер­сию бес­плат­но. Осталь­ным необ­хо­ди­мо при­об­ре­тать ли­цен­зию, но это ничтож­ная пла­та за ве­ли­ко­леп­ный ин­ст­ру­мент.

Персональные инструменты
купить
подписаться
Яндекс.Метрика