Если вы знаете, что никогда не будет больше определенной «контрольной точки» ba
«ребенка», вы можете фактически использовать псевдореестр @$bpN
, установив команду «control» breakpoint:
ba1 w4 /1 @esp+4 "dd @$bp1"
То есть укажите номер точки останова, который должен назначить эта новая точка останова, и псевдоопределение для этой точки останова все еще определено в команде точки останова.
Однако, если вы считаете контрольную точку останова будет ударяться несколько раз и хочет определить несколько контрольных точек ba
, которые, очевидно, не будут работать, потому что тогда «точка останова 1» будет просто переопределяться каждый раз. Но вы все равно можете это сделать!
Фокус в том, чтобы заставить контрольную точку контрольной точки фактически содержать литеральный адресный текст, а не пытаться пройти псевдореестр. И вы можете сделать это с помощью текстовых псевдонимов.
Попробуйте это для вашей контрольной точки останова:
bu @WHATEVER "aS /x ${/v:baaddy} @esp+4; .block{ ba w4 /1 baaddy \"dd baaddy\"; ad ${/v:baaddy} }"
Когда контрольная точка останова ударяется, происходит следующее:
@esp+4
. .block
гарантирует, что расширение псевдонима произойдет для чего Далее. ad
(из-за переключателя / v). @esp+4
равно 0x1234
, команда точки прерывания доступа буквально становится: ba w4 /1 0x1234 \"dd 0x1234\"
с фактическим адресом, встроенным в нее. Важно удалить псевдоним текста в конце или в следующий раз, когда эта контрольная точка останова будет удалена, расширение псевдонима произойдет до того, как команда aS
и «baaddy» будет расширена используя значение previous . Это также означает, что важно, чтобы этот псевдоним текста не существовал при первом установлении команды контрольной точки останова.
Используйте терминал. В командной строке вы можете использовать команду svn import
для добавления проекта в ваш репозиторий.
Исходя из того, как вы сформулировали свой вопрос, я предполагаю, что ваше хранилище Subversion уже существует. Вы будете следовать тем же основным шагам, описанным в Добавление контроля версий Git или Subversion к существующему проекту в Руководстве пользователя Xcode 4, за исключением того, что вместо создания целого нового хранилища вы просто добавляете новый каталог в ваш существующий репозиторий.
Удобно, что Xcode имеет поддержку контроля версий, но это не полнофункциональный клиент контроля версий GUI. Вы все еще должны знать, как управлять своим репозиторием с помощью программы командной строки svn. Кроме того, вы можете получить интерфейс GUI, например, Versions . В любом случае, вы должны иметь (и прочитать) книгу Subversion Book . Использование контроля версий - это гораздо больше, чем просто проверка и возврат файлов, и вам нужно знать, как он работает и как его лучше использовать, если он вам поможет.