debugger watches you

Сидел я на выходных и развлекался отладкой одного production софта, который отлично работал на линуксе, но после того, как предыдущий сервер сдох, а на новом решено было ставить FreeBSD, обнаружилось странное выпадание программы, вместо корректной работы.
Начал я гуглить туториалы по gdb и заниматься отладкой. С горем пополам обнаружилось, что происходит банальный проезд по памяти. Но так как код чужой, разбираться в нём лень, да и времени не особо много, то пришлось ходить по коду через step next и смотреть значение переменной-жертвы. Попутно читая туториал глаз зацепился за слово watch – прочитав внимательней оказалось, что можно ставить breakpoint на изменение значения переменной – алилуйя! В доке написано, что если процессор поддерживает, то будет аппаратно работать, а если нет, то программно и в разы медленней. Вторым моим удивлением оказалось, когда gdb сказал, что hardware watchpoint set. Тут я совсем офигел – сколько уже работаю с x86, а о таком и не знал.

В общем поставил я watchpoint, запустил – первый раз оно брякнулось в том месте, где переменная инициализируется, а второй раз – о чудо – именно там, где был проезд по памяти. Смотрим стек вызовов и наслаждаемся полученным великим знанием.

Подведя итог, таки интеловская платформа умеет делать аппаратно прерывания на обращения по заданному адресу и теперь отладка проезда по адресу становится в разы легче.

Similar Posts

  • ___.ru

    Ну так как все уже об _этом_ писали, то я не буду 🙂 Могу только пропиарить blog.gamedeff.com – хорошее место и, надеюсь, таковым и останется. Share this post: Share on X (Twitter) Share on Facebook Share on LinkedIn Share on Email Share on Reddit

  • Открытие сезона 2009 II

    После того, как в Славском нас постигла неудача со снегом мы решили не терять времени и поехать на Буковель – где-то 220км по заснеженным дорогам и возможность успеть на вечернее катание с 5 до 8. Успели с 6 до 8 🙂 Переночевали и целый день утюжили склоны Буковеля и соседних гор, к сожалению работало только…

  • Тренажерный зал

    Итак спустя три месяца, мы похоже, все-таки, созрели идти в спортзал. Сегодня на ДР Ленки Саныч сказал, что он, оказывается, давно уже узнал, что где-то есть неплохой зал, в который можно походить 🙂 Интересно, когда именно мы туда пойдем, поскольку идея зародилась еще летом 🙂 А еще я узнал об интересной акции фирмы Rossignol –…

  • Всё новое – хорошо забытое старое

    Возникла у меня накануне насущная необходимость обработки игровой логики (триггеры), но при этом скриптинг у нас ещё совсем не готов, а результат нужен вот-вот. предложил глянуть на редактор уровней от старкрафта, я его открыл, посмотрел, посоздавал триггеры, подумал и меня осенила мысль, что такого функционала для нас должно хватить с головой и ещё останется 🙂…

  • Muse

    Злобные гремлины, которые нашёптывают мысли о том, что надо много работать наконец-то чуть приутихли, можно рассказать про концерт. Концерт был очень хорош, британцы хорошо умеют делать шоу, зато наши организаторы не умеют делать организацию. Давка началась от самого входа в метро – стояла огромная толпа, которую по чуть-чуть пропускали в сам дворец спорта, чем ближе…

  • PS3 Mediaserver

    Давно я не постил ничего 🙂 Расскажу я про одну полезную программку, благодаря которой моя “чёрная прелесть” (PS3) стала ещё более прелестной. PS3 Mediaserver (http://ps3mediaserver.blogspot.com/). Хороша тем, что умеет стримить *.mkv файлы на приставку без всяких действий с шаманским бубном и/или установкой тыщ миллионов кодеков. Написана на джаве, поэтому просит поставить JVM, но, скажу я…