debugger watches you

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

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

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

Similar Posts

  • Rhythm of War

    Анонс, штоли 🙂 Надеюсь, что скоро релизнемся. http://rhythmofwar.com Share this post: Share on X (Twitter) Share on Facebook Share on LinkedIn Share on Email Share on Reddit

  • Пилипец (Карпаты)

    Съездили мы составом из 19 человек в Пилипец, Воловецкого р-на, что на Закарпатье покататься на тех самых горных лыжах. Прогресс там на месте не стоит, открыли ещё 2 трассы, правда, для новичков, но, зато, монтируют креселку на вершину “основной” горы. Она будет тягать почти туда же, куда сейчас это делает бугель, но зато появится возможность…

  • Howto brick Asus P5B

    Расскажу я о том, как легко можно убить мать и как потом сложно восстановить, но всё же возможно – во вполне домашних условиях. Share this post: Share on X (Twitter) Share on Facebook Share on LinkedIn Share on Email Share on Reddit

  • Новый нетбук

    Нахлынуло на меня недавно желание “апгрейднуть” свой нетбук. Старый MSI Wind U100 с атомом внутри и 2ГБ памяти как-то уж очень медленно всё пережёвывал, а жил всего полтора часа от силы…
    И вот я купил новый аппарат под названием Gigabyte Q1105…

  • Хоккей

    Попёр меня хоккей роликовый совсем неподецки. Последний раз такой азарт и желание заниматься было весной, когда я просто ролики осваивал. Собсно клюшка собственная и шарик у меня уже есть, решил я прикупить ещё и более правильную защиту и футболку-кофту. С первым проблем нету, а вот второе… Я облазил пол-города и не нашёл! В нашем любимом…

  • Охота

    На выходных был в Ульяновке, ходили на открытие охоту – открыли, жалко только, что ни одной утки даже не видели, не то что подстрелили. Куда интересней было просто погудеть в Ульяновке – какая-то атмосфера там пьянящая. Мы с другом одним выпили по четыре бутылки пива – нас разорвало в клочья. Мы, мягко говоря, были удивлены…