debugger watches you

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

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

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

Similar Posts

  • Позднеосеннее катание

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

  • поездочка

    Сегодня утром ездил в аэропорт Борисполь. Так как ехал по единственной в стране автомагистрали, да еще и с хорошим покрытием, то решил проверить возможности машины. Спидометр дополз до 180 км/ч, в принципе можно было еще километров 10 добрать, но как-то не хотелось 🙂 Особо ощущения скорости большой не было, управляемость тоже вроде ничего так, хотя…

  • Румыния: День второй

    27.04.2008 Воскресенье, 07:30 (Синая) Утро просто не успело выдаться тяжёлым, потому что, как только мы пришли в чувства, к нам приехали коллеги из шкода-клуба. Мы позавтракали и отправились в гости к графу Дракуле, Share this post: Share on X (Twitter) Share on Facebook Share on LinkedIn Share on Email Share on Reddit

  • Двойные стандарты

    Интересно, почему вокруг так часто наблюдается страсть к двойным стандартам? Начиная с политики, и заканчивая соседями. Вот сгорает лампочка в корридоре – я выйду её и поменяю на свою. Но когда она сгорит в следующий раз – надо очень долго ждать, что сосед(ка) возьмёт и вкрутит свою – оно вроде бы и мелочь, а неприятно….

  • Muse

    Ацкие панки – группа muse в ближайшую субботу (13.10.07) будут выступать у нас во дворце спорта – прикольно, учитывая эпопею с их приездом/неприездом в Киев – за 2 недели до концерта ещё не было точно понятно – будут ли они. И хотя билеты оказались несколько дороже, чем на всякие другие приезжие концерты, но думаю, оно…