Как перейти к вызову самой внешней функции в линии с LLDB? - PullRequest
2 голосов
/ 04 июня 2019

Допустим, я отлаживаю код, подобный этому

   outer(fn1(), fn2());

Если я использую команду s, LLDB сначала перейдет к fn1, затем я наберу fin, чтобы выйти,s снова вступает в fn2, fin ... и только теперь я могу вступить в outer, чего я и хотел с самого начала.

Есть ли способскажите LLDB, по какой функции вызывается step-in?

Ответы [ 3 ]

2 голосов
/ 04 июня 2019

thread step-in --step-in-target outer или, более компактно, s -t outer остановится, когда войдет в outer. См. help s для документации.

2 голосов
/ 05 июня 2019

lldb имеет псевдоним для этого: sif.В данном примере вы можете запустить:

(lldb) sif outer

Вы можете запомнить его как s tep i nto f unction

Он работает с частичными совпадениями, его не нужно вызывать с полным именем функции.В этом случае вы также можете запустить sif out, например.

0 голосов
/ 04 июня 2019

Непосредственно Нет. Но вы можете установить точку останова в определении внешней функции.

...