debugger watches you

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

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

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

Similar Posts

  • Лытдыбр псто

    Чото модно стало такие штуки в ЖЖ постить, я тож так сделаю, потому что выглядит правдоподобно весьма 🙂 Share this post: Share on X (Twitter) Share on Facebook Share on LinkedIn Share on Email Share on Reddit

  • Карпаты весной

    На последних выходных я снова ездил в Карпаты, снова в Пилипець, но жили в другом домике – теперь с туалетом внутри, что очень удобно в холодную погоду 🙂 Эта поездка оказалась более необычной чем остальные – в этот раз в поезде мы ехали в разных вагонах, и если туда мы ехали в соседних вагонах, то…

  • Гурт Йогурт

    Ходили вчера нашим дружным рабочим коллективом + ddima, который находится у нас с дружеско-рабочим визитом, в ирландский паб “to dublin”. Подают там ирландское пиво, в том числе и “Гиннес”, но мы то туда пошли совсем не за этим 🙂 Вчера там выступал “Гурт Йогурт” (группа Йогурт) – ребята, старые друзья Квакса (майн директор), которые играют…

  • 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

  • Хоккей

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

  • Снова пьянка

    На выходные ездили на дачу к нашей малой, формально – праздновать защиту магистров, реально – просто “погулять”. На этот раз было прикольнее чем прошлые пьянки – там есть футбольное поле. Мы посидели на пляже и пошли играть в футбол. Хорошая игра, тем более на фоне ЧМ 🙂 Отбегались так, что когда вернулись назад, то и…