Xcode / GDB - продолжить вызов метода, который указан в отладчике? - PullRequest
1 голос
/ 24 августа 2011

Возможно ли это?

По сути, я хочу, чтобы, когда меня остановили на точке останова, я хотел, чтобы он вызвал [someObject someMethod], а затем продолжил.Важно, чтобы вызов метода происходил как часть продолжения, а не отдельно от него, потому что, если он должен достичь другой точки останова как часть вызова метода, я хочу, чтобы он остановился на этой точке останова обычным способом.

Даже если бы это было ограничено методами класса или функциями C, это было бы большой помощью.

1 Ответ

0 голосов
/ 25 августа 2011

Да, это возможно, но, к сожалению, это не так просто.

По сути, вы хотите изменить контекст выполнения (на выбранную вами функцию) запущенного процесса в произвольной точке программы.

Теоретически вы можете создать новый контекст выполнения, выполнив команды GDB и вызвав функции в отлаживаемом процессе, но, вероятно, это будет больше работы, чем вы изначально предполагали.

Я думаю, что лучшим вариантом, если вы действительно хотите эту функциональность, является использование какой-либо библиотеки инструментов, такой как Valgrind или Pin . Эти библиотеки в основном заботятся обо всех мельчайших деталях создания нового контекста выполнения в произвольный момент выполнения процесса, и они представляют разумный интерфейс для работы в запущенном процессе.

...