Я написал скрипт, который добавляет множество точек останова к моему iOS проекту. Каждая точка останова имеет команду, которая вызывает некоторый код журнала и продолжается без остановки.
Во время выполнения моего проекта эти точки останова называются десятками, если не сотнями раз в секунду. К сожалению, производительность приложения упала после добавления этих точек останова. Это в значительной степени не отвечает, поскольку выполнение точек останова замедляет процесс.
Мой вопрос здесь: это нормально? Являются ли затраты производительности для точек останова настолько значительными?
Я вставляю ниже часть моего python сценария из ~/.lldb
:
...
for funcName in funcNames:
breakpointCommand = f'breakpoint set -n {funcName} -f {fileName}'
lldb.debugger.HandleCommand(breakpointCommand)
lldb.debugger.HandleCommand('breakpoint command add --script-type python --python-function devTrackerScripts.breakpoint_callback')
def breakpoint_callback(frame, bp_loc, dict):
lineEntry = frame.GetLineEntry()
functionName = frame.GetDisplayFunctionName()
expression = f'expr -- proofLog(lineEntry: "{lineEntry}", function: "{functionName}")'
lldb.debugger.HandleCommand(expression)
return False