Code Monkey home page Code Monkey logo

echo's Issues

fishhook的问题

QRCode转码的第三方,在执行到下面这一行代码的时候,fishhook导致了崩溃
CIFilter *fileter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
麻烦升级一下fishhook的版本

Xcode 12.0 beta 5 有个奔溃问题

首先感谢

感谢滴滴大佬开源了一款这么好用的工具, 在我们开发使用起来真的非常的方便.

目前的问题

在使用 xcode 11 的时候没有任何问题 , 更新到Xcode 12.0 beta 5 版本后 . 使用的时候发生奔溃. 最后根据定位发现问题出现在 ECOnetServiceBrowser 这个里面,
WX20200907-115500.png-923.7kB

WechatIMG311.png-957.2kB

发现是一直在进行失败重新启动 resetBrowserService
如果注释掉 [self resetBrowserService]; 就没有了崩溃现象, 但是 echo 中也没有了查看网络请求的功能, 由于技术能力有限, 实在不知道问题出现在哪里.

期望

希望滴滴大佬在百忙之中能注意下这个问题, 看能否给与解决一下.

Podfile文件中:generate_multiple_pod_projects = true,找不到头文件

Podfile文件:

install! 'cocoapods', 
generate_multiple_pod_projects: true,
disable_input_output_paths: true

这种情况下,EocWatchDog.m 文件中,找不到 BSBacktraceLogger.h 头文件;
generate_multiple_pod_projects = false 时,是没问题的。等于 true 的情况,该如何解决,还请指教~
error

编译报错

你好,按照我们的接入流程接入之后,编译失败,截图如下
image

Xcode13 内部 fishhook崩溃

使用设备
iPhone12 Pro Max iOS15.0 19A346
真机与模拟器都会崩溃

在Echo初始化方法hookNSLog里使用了fishhook加了一个钩子,调用rebind_symbols方法时产生了崩溃

崩溃日志
2021-09-22 17:31:40.746202+0800 [568:30569] [unspecified] An empty string is not a valid group container identifier.
2021-09-22 17:31:40.746230+0800 [568:30569] [unspecified] container_create_or_lookup_app_group_path_by_app_group_identifier: client sent invalid parameters

堆栈信息
frame #0: 0x00000001037220bc EchoDemoperform_rebinding_with_section(rebindings=0x0000000282c9cb40, section=0x000000010a7a8420, slide=4470767616, symtab=0x000000010a7d9bf0, strtab="", indirect_symtab=0x000000010a7ddb90) at fishhook.c:104:39 frame #1: 0x0000000103721da4 EchoDemorebind_symbols_for_image(rebindings=0x0000000282c9cb40, header=0x000000010a7a8000, slide=4470767616) at fishhook.c:169:11
frame #2: 0x0000000103721ed8 EchoDemo_rebind_symbols_for_image(header=0x000000010a7a8000, slide=4470767616) at fishhook.c:178:5 frame #3: 0x000000010a347930 dyldinvocation function for block in dyld4::APIs::_dyld_register_func_for_add_image(void ()(mach_header const, long)) + 200
frame #4: 0x000000010a3406f4 dylddyld4::RuntimeState::withLoadersReadLock(void () block_pointer) + 92 frame #5: 0x000000010a3697f8 dylddyld4::APIs::_dyld_register_func_for_add_image(void ()(mach_header const, long)) + 148
frame #6: 0x0000000103721e48 EchoDemorebind_symbols(rebindings=0x000000016f2146e0, rebindings_nel=1) at fishhook.c:200:5 frame #7: 0x0000000101124890 EchoDemo-[ECONSLogManager hookNSLog](self=0x0000000282c9cb00, _cmd="hookNSLog") at ECONSLogManager.m:70:5
frame #8: 0x00000001011247f8 EchoDemo`-[ECONSLogManager init](self=0x0000000282c9cb00, _cmd="init") at ECONSLogManager.m:48:9

sanbox 功能

希望弄一个修改沙盒的插件,其他功能很多别的产品都有

Undefined symbols for architecture arm64

Undefined symbols for architecture arm64:
"OBJC_CLASS$_FBObjectiveCObject", referenced from:
objc-class-ref in FBObjectiveCObject+EchoFixNSMapTableCrash.o
_OBJC$CATEGORY_FBObjectiveCObject$_EchoFixNSMapTableCrash in FBObjectiveCObject+EchoFixNSMapTableCrash.o
"OBJC_CLASS$_FBRetainCycleDetector", referenced from:
objc-class-ref in ECOMLeaksMessenger.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Showing All Messages
Undefined symbol: OBJC_CLASS$_FBObjectiveCObject

Showing All Messages
Undefined symbol: OBJC_CLASS$_FBRetainCycleDetector

网络请求无法看到入参

项目中引入框架试了下,刷新界面网络请求只能看到出参,看不到body入参,并且清空日志的时候只能清空每次网络请求,下边的Request``Response均无法清空

网络监控内存泄漏

ECONSURLProtocol 对象一直未销毁 ,通过Xcode Debug Memory Graph观察内存表发现对一个拥有云端访问的瀑布流,频繁push和pop,该对象无限增长
E5C2012A-65A0-4BE0-AF46-1FD8F7F3AD29

网络阻塞问题

项目中有图片视频上传的操作,这些操作会导致app网络阻塞,所有网络请求全部超时,必须重新启动app才能恢复。
网络断开时Mac端会打印日志
Log content:
-[ECONetServiceBrowser netServiceDidStop:]

Xcode12 、真机iOS14状态下崩溃

image

Xcode12 、真机iOS14状态下崩溃在
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
[[ECOCoreManager shared] sendPacketData:data type:type plugin:plugin toDevice:device];
});

//发送数据

  • (void)plugin:(__kindof ECOBasePlugin *)plugin willSendData:(id)data type:(ECOPacketDataType)type toDevice:(ECOChannelDeviceInfo *)device {
    // NSLog(@"<<[ECOPluginsManager] %@ plugin sendData:%@", plugin.pluginName, data);
    //封装数据
    if (!data) {
    return;
    }
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
    [[ECOCoreManager shared] sendPacketData:data type:type plugin:plugin toDevice:device];
    });
    }

为什么不用Swift呢

请问下,既然这个项目是新的,为啥不用Swift呢。毕竟swift写起来比OC舒服多了,语法也有更多特性。

真机奔溃

WX20200706-170737

[[ECOClient sharedClient] start];启动直接崩溃

型号:iPhone XS Max
系统:13.4.1
Xcode:11.5

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.