Точки останова неожиданно изменились после использования dlopen в Xcode - PullRequest
0 голосов
/ 13 марта 2020

Я использую Objective- C для загрузки исполняемого файла, а затем использую какой-то метод Inside. но когда я хочу что-то отладить после dlopen, я нахожу все точки останова. Меняю их статус с разрешенного на неразрешенный. Это беспокоит меня, потому что я не могу отлаживать там, где хочу отлаживать. Есть пример проекта, я не знаю, почему это происходит и как его решить.

void* handles = dlopen("/Users/mz/Desktop/medkkit/obj.app/Contents/MacOS/app", RTLD_GLOBAL);   //after that, all breakPoint Change status to unresolved, Even the debugger has not debugged
if(handles){
    Class ViewCtrlClass = objc_getClass("ViewController");
    if(ViewCtrlClass){
        ViewControl *viewObj = [[ViewCtrlClass alloc] init];
            if(viewObj){
                [viewObj myFunc];        
            }
    }
}

Теперь я использую lldb для ручного запуска новой точки останова после того, как точка останова становится нерешенной, что делает мою отладку очень хлопотно.

...