debugger watches you

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

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

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

Similar Posts

  • Новый гоблин

    Наконец новая версия игрухи готова, и хотя игрой ее назвать еще очень тяжело, все стало намного лучше. Особенно радует механизм обнаружения столкновений. Если все пойдет ок, то в следущую версию уже можно будет играть 🙂 Вообще обнаружил, что Microsoft Project – довольно прикольная вещь, разрабатывать проект становится легче хотя бы из-за того, что легче видеть,…

  • Flushed away

    Посмотрел мультик дримворковский, про мышь, которая попала в “другой” мир. Прикольно, детский такой мультик, с обычной амереканской моралью и прочим. Поразил один момент – чото там происходит и показывают таракана, который читает Кафку “Метаморфоза”. Интересно, кто это так прикололся и на кого это расчитано? Книжки-то уже давно не в моде, тем более классика. Share this…

  • природа экспромптом

    Вчера в 8 вечера внезапно выбрались на природу на шашлыки. Было холодно, ветрено, но тёплая одежда спасала, а когда разожгли костёр, то вообще отлично стало всё. Оказалось, что даже если на улице холодно, то на природу всё равно можно выбираться, ближе к занавесу даже хотелось остаться с ночёвкой. Выехали недалеко под Киев, можно сказать даже…

  • Интернет

    Интернет штука полезная и, похоже, незаменимая. Вот пропал у меня инет на 2 дня – это писец просто был – можно сказать катастрофа. Ни тебе доку скачать, ни новости посмотреть, ни музычку послушать – кошмар полный. Зато спать получается лечь раньше 🙂 Вообще, начинаю подумывать о написании проги, которая в 12 ночи будет вырубать комп…