The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Проект Mozilla представил rr 1.0.0, отладчик для крупных проектов на С/C++

26.03.2014 21:10

Проект Mozilla выпустил новый отладчик rr (Record and Replay), нацеленный на упрощение отладки сложно повторяемых ошибок в крупных программных проектах на Си/Си++, таких как Firefox. Процесс отладки с использованием rr основан на двух стадиях - записи истории процесса выполнения и отладки с повторным воспроизведением записанных шагов выполнения.

Указанная особенность позволяет использовать rr для отладки проблем, проявляющихся не постоянно и при определённом редком стечении обстоятельств. При традиционной отладке, каждый раз приложение запускается заново и ход его выполнения зависит от множества сторонних факторов. В rr сеансы отладки манипулируют единым записанным ходом выполнения, который полностью повторяется для каждой попытки.

Таким образом, при использовании rr достаточно один раз добиться проявления проблемы, что может потребовать десятков запусков исследуемого приложения в разных условиях, после чего выполняется отладка записанного и предсказуемого хода выполнения. Разработчик может сколько угодно раз возвращаться в начало и повторять отладочный проход, не опасаясь, что при очередном выполнении проблема не проявится. Для записи хода выполнения приложения используется ptrace. Замедление выполнения программы в режиме записи составляет в среднем 20-40%.

Для непосредственного процесса отладки используется привычный gdb, надстройкой над которым выступает rr. В рабочем процессе rr может выступать в качестве почти полной замены gdb. Ограничения сводятся к невозможности поменять в процессе значения регистров и памяти, а также невозможности отладки программ, обменивающихся данными с другими процессами по разделяемой памяти. В настоящее время поддерживается только работа на 32-разрядных системах x86, поддержка x86_64 будет добавлена позднее. Отладка многопоточных приложений производится только в условиях эмуляции одноядерного CPU.



  1. Главная ссылка к новости (http://robert.ocallahan.org/20...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/39413-debug
Ключевые слова: debug, mozilla, rr
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (29) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 21:41, 26/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    > В настоящее время поддерживается только работа на 32-разрядных системах x86

    Шёл 2014-й год...

     
     
  • 2.3, arisu (ok), 22:13, 26/03/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >> В настоящее время поддерживается только работа на 32-разрядных системах x86
    > Шёл 2014-й год...

    и что? а, ну да: «все побежали — и я побежал…»

     
     
  • 3.18, Аноним (-), 16:08, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А как мне адресовать мои 16 гигз памяти 32-я битами полноценно? Не лезут они в 32 бита, хоть ты тресни.
     
     
  • 4.27, Аноним (-), 21:44, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    https://ru.wikipedia.org/wiki/PAE
    Другое дело, что некие одаренные личности отключили это дело в некоторых ОС...
     
     
  • 5.33, Аноним (-), 16:48, 01/04/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Молодец, а теперь расскажи как один процесс может адрессовать 16G памяти через PAE.
     
  • 4.30, Карбофос (ok), 23:36, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    дубина ты. мне 64 бита нужны совсем по другим причинам.
    и да, о PAE ты нифига не слышал
     
  • 2.5, Слушатель (?), 22:32, 26/03/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > поддержка x86_64 будет добавлена позднее

    Кто-то не умеет читать.

     
     
  • 3.6, Аноним (-), 23:07, 26/03/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Кто-то не умеет читать.

    Умеет. Только это не отменяет того факта, что выпускать в 2014-м году десктопную софтину, способную компилироваться и/или работать исключительно в 32-битном варианте, весьма странно (мягко выражаясь). Да ещё и сочетать принципиальную 32-разрядность с требованием более-менее современного процессора ("rr requires a reasonably modern x86 CPU" и "rr currently only supports x86 32-bit processes. (Porting to x86-64 should be straightforward but it's quite a lot of work.)") при том, что даже не совсем десктопные Intel Atom-ы уж несколько лет как поддерживают x86-64.

     
     
  • 4.9, Аноним (-), 23:42, 26/03/2014 [^] [^^] [^^^] [ответить]  
  • +9 +/
    В первую очередь мозилла разрабатывает инструмент для себя, а файерфокс, как известно, 32-х битный. Но поделились с сообществом, а тут гляди-ка недовольные уже повылазили.
     
     
  • 5.13, pavlinux (ok), 02:56, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > а файерфокс, как известно, 32-х битный.

    Кому известно, где известно?
    Мой 64-битный комп. протестует, потому как он вообще не умеет запускать 32-битный софт!

     
     
     
    Часть нити удалена модератором

  • 7.22, Аноним (-), 16:16, 27/03/2014 [ответить]  
  • –1 +/
    > Павлинукс все более и более погружается в свой воображаемый наркоманский мир

    Не, у него просто в отличие от сопливых виндyзятников, которые вообще не понятно что забыли на этом ресурсе, линух, где принято чтобы софт был скомпилен одинаково. Так что если 64-битная система, то и весь софт 64-битный. И он вероятно не ставил костыли типа 32-битных либ. Но виндовозным мышевозилам это сложно понять - в их помойке вообще 64-битные программы фиг найдешь, я целых 2 знаю: FAR и 7zip :).

     
     
  • 8.25, Michael Shigorin (ok), 20:46, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Так Вы ж видели это обсуждение и участвовали в нём под своим ником http www... текст свёрнут, показать
     
     
  • 9.26, Аноним (-), 21:15, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Думаете, я настолько крут в павлиноведении что запоминаю все ключи с которыми он... текст свёрнут, показать
     
     
  • 10.28, pavlinux (ok), 22:11, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Я чёй-то пропустил ... текст свёрнут, показать
     
     
  • 11.31, Карбофос (ok), 23:51, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    тебя только что трусиками закидали ну а по теме firefox и т д ну есть 64битны... текст свёрнут, показать
     
  • 5.15, Аноним (-), 09:06, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> а файерфокс, как известно, 32-х битный

    А это что? http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/28.0/linux-x

     
  • 5.16, ryoken (?), 12:19, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > В первую очередь мозилла разрабатывает инструмент для себя, а файерфокс, как известно,
    > 32-х битный.

    http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/firefox-3
    http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/firefox-3

    Сие конечно же 32-битные билды, АГА.

     
  • 5.19, Аноним (-), 16:10, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > файерфокс, как известно, 32-х битный.

    Странно, у меня почему-то 64-битный файрфокс. Как и все остальные программы. У меня вообще 32-битных библиотек в системе нет.

     
  • 5.21, Аноним (-), 16:13, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > 32-х битный.

    Что у нас тут за сборище ламеров? Перебежчики с XP чтоли? Для линуха совершенно нормально весь софт под целевую архитектуру собирать. Если линь 64-битный, то и файрфокс там 64-битный.

     

  • 1.7, axe (??), 23:27, 26/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    так вот почему они отказались от x64 версии браузера - отладчик надо допиливать! )
     
     
  • 2.10, Аноним (-), 23:44, 26/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > так вот почему они отказались от x64 версии браузера - отладчик надо
    > допиливать! )

    Для какой цели Вам понадобился 64-х разрядный браузер, уважаемый? Лишняя память что-ли?

     
     
  • 3.20, Аноним (-), 16:11, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Для какой цели Вам понадобился 64-х разрядный браузер, уважаемый? Лишняя память что-ли?

    У меня в системе нет 32-битных либ. Целиком 64-битный код. И браузер 64-битный. Памяти он жрет не сильно больше 32-битной версии, кстати. И что, его отлаживать не надо чтоли?


     
     
  • 4.23, Анончик (?), 17:52, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >они отказались от x64 версии браузера

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

     
  • 3.32, А (??), 02:13, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    При посещении раз в неделю сайтов с обоями и hi-res картинками, если сначала открывать в фоновые вкладки/окна, легко вылететь за 4 гига памяти, в принципе, х32-ой SeaMonkey уже около 3 гиг плохеет и он начинает тормозить, x64-ый - 5-6 гиг без тормозов
     
  • 2.11, Аноним (-), 00:21, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Логично, что они отказались от "x64 версии" браузера - ввиду отсутствия такой архитектуры.
     
     
  • 3.24, Аноним (-), 18:33, 27/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    http://ru.wikipedia.org/wiki/X86-64

    >> На сегодняшний день наиболее распространёнными являются «x64», «x86-64» и «AMD64».

     

  • 1.12, некто (ok), 02:00, 27/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    молодцы
     
  • 1.17, Crazy Alex (ok), 14:41, 27/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    О! После движков - первая действительно полезная софтина от Мозиллы.
     
  • 1.29, Могикан (?), 09:48, 28/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Школота прицепилась к 32 битам.

    Так и охота высказаться в стиле "чего добился", тока "П%:,деть" мастера.

    Мозилла делает, да ест. Умницы.

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру