Это является определенно маниакальным, но я очарован тем, как умно компилятор переводит код C в машинные команды. Так как я немного нечеток на некоторых инструкциях, было бы полезно, если я мог бы следить за операцией скомпилированной программы на уровне отдельных машинных команд - "ниже" уровня оператора C (который мог бы генерировать несколько инструкций по ЦП). Другими словами, я могу наблюдать, что регистры/память изменяются после единственной машинной команды?
Я уверен, что это возможно с некоторыми другими отладчиками, но я только использую XCode.
si
- "Step Instruction", а ni
- "Next Instruction". Они имеют ту же семантику, что и "Step" и "next" для строк кода, только на уровне инструкций.
]В окне отладчика включите сборку: Run/Debugger display/Source and disassembly (Запуск/отображение отладчика/источник и разборка). Дождитесь точки останова. Затем воспользуйтесь командой Run/Step into(over) для выполнения сборки.[
].Упс, не проверил достаточно внимательно - Шаг в w/Option (Cmd-Opt-Shft-I = ⌘⌥⇧I)
.