Оказывается, моя структура obj c вела себя должным образом, но не так, как я ожидал. По какой-то причине я все еще смог подключить отладчик Visual Studio, но когда я перехожу на Xcode и пытаюсь подключить его отладчик, он терпит неудачу при вызове фреймворка.
Чтобы ответить на мой вопрос:
В Xcode я создал новую библиотеку stati c с одним классом:
GDBManager.h
#import <Foundation/Foundation.h>
@interface GDBManager : NSObject
+(void)DisableGDB;
@end
GDBManager.m
#import "GDBManager.h"
#import <dlfcn.h>
#import <sys/types.h>
@implementation GDBManager
typedef int (*ptrace_ptr_t)(int _request, pid_t _pid, caddr_t _addr, int _data);
#define PT_DENY_ATTACH 31
+(void)DisableGDB {
void* handle = dlopen(0, RTLD_GLOBAL | RTLD_NOW);
ptrace_ptr_t ptrace_ptr = dlsym(handle, "ptrace");
ptrace_ptr(PT_DENY_ATTACH, 0, 0, 0);
dlclose(handle);
}
@end
Я выполнил эти инструкции, чтобы создать толстый файл для моей библиотеки и использовать его в проекте привязки.
https://docs.microsoft.com/en-us/xamarin/ios/platform/binding-objective-c/walkthrough
Затем я добавляю сгенерированную dll в свой проект Xamarin. iOS и называю его выше UIApplication.Main(args, null, "AppDelegate");
в Main.cs