Как сделать двунаправленную или обратную отладку программ?

dict1 - это символ, который ссылается на базовый объект словаря. Назначение dict1 - dict2 просто присваивает ту же ссылку. Изменение значения ключа с помощью символа dict2 изменяет базовый объект, что также влияет на dict1. Это запутанно.

Гораздо проще рассуждать о неизменяемых значениях, чем ссылки, поэтому по возможности делайте копии:

person = {'name': 'Mary', 'age': 25}
one_year_later = {**person, 'age': 26}  # does not mutate person dict

Это синтаксически то же самое, что:

one_year_later = dict(person, age=26)
15
задан Ciro Santilli 新疆改造中心法轮功六四事件 28 April 2018 в 07:38
поделиться

7 ответов

Последняя версия gdb 7.0 (выпущенная на этой неделе) поддерживает обратную отладку на нескольких платформах (например, собственный i386 и x86_64 linux, рабочая станция VMware, симуляторы UndoDB и Simics от Virtutech). ftp://ftp.gnu.org/pub/gdb

Он работает с последним предварительным / предварительным выпуском VMware workstation 7.0, который также поддерживает обратную отладку гостевых систем MSWindows с помощью отладчика Visual Studio. Получите бесплатную пробную загрузку рабочей станции 7.0 по адресу http://communities.vmware.com/community/beta/workstation , и найдите несколько полезных советов по использованию здесь, на http: //communities.vmware. com / docs / DOC-10714

8
ответ дан 1 December 2019 в 01:17
поделиться

Слово Ваш поиск может быть "Всезнающей Отладкой".

Вот тот: http://www.lambdacs.com/debugger/

Страница UndoDB имеет некоторые ссылки на (дорогие) коммерческие отладчики.

4
ответ дан 1 December 2019 в 01:17
поделиться

Можно рассмотреть использование Отладки Воспроизведения VMware, доступной в последнем выпуске VMware Workstation, например, видеть http://www.replaydebugging.com/2008/08/vmware-workstation-65-reverse-and.html. Можно загрузить пробную версию по http://www.vmware.com/products/ws/, и она работает с Visual Studio.

(Правовая оговорка: Я работаю на VMware хотя не на этом продукте.)

2
ответ дан 1 December 2019 в 01:17
поделиться

VS 2010, как предполагается, имеет что-то вроде этого, я думаю.

3
ответ дан 1 December 2019 в 01:17
поделиться

Недавно выпущенный gdb-7.0 включает возможность обратной отладки для встроенного Linux x86 и x86_64. Вы можете отлаживать любую программу Linux как обычно, включить функцию "записи", и с этого момента, если вы сделаете шаг вперед слишком далеко, вы можете сделать шаг назад или вернуться назад до точки останова.

5
ответ дан 1 December 2019 в 01:17
поделиться

Да, я использовал его еще в 90-х. Отладчик Watcom C (понимающий FORTRAN и большинство других языков) имел возможность позволять вам шагать назад и вперед во времени.

Это здорово, но не новость ...

2
ответ дан 1 December 2019 в 01:17
поделиться

Да, я использовал Virtutech Simics с реверсом с 2005 года. Он невероятно полезен и позволяет очень легко исправить большинство ошибок. Особенно те, которые связаны с синхронизацией и условиями гонки, а также с многоядерными / поточными «heisenbugs».

См. http://jakob.engbloms.se/archives/1547 , http: // jakob. engbloms.se/archives/1554 и http://jakob.engbloms.se/archives/1564 проводят инвентаризацию наиболее известных на сегодняшний день попыток обратного отладчика.

3
ответ дан 1 December 2019 в 01:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: