Comments (7)
只是路过!
from fbretaincycledetector.
Yes, NSGetSizeAndAlignment throws exception that will be caught by exception breakpoint. The safest is to turn off exception breakpoint when using retain cycle detector.
from fbretaincycledetector.
Hey! Interesting, in general some types are unavailable to query for (for example if you have a struct and this struct has bitfields at the beginning and some objects at the end, we wouldn't cover that).
Because NSGetSizeAndAlignment()
can throw we have wrapped that in @try-catch
block.
So that's the idea - the question is - why the exception was not caught. Frameworks might be to blame, I'll look into it a little bit more.
from fbretaincycledetector.
Are you in debug mode? There is a good chance you are not crashing but are stopping in exception breakpoint. Could you try disabling this and check if the issue is still happening for you?
from fbretaincycledetector.
Yes, the 'b'
is _C_BFLD
, a bitfield.
Since there's some encoding parsing going on, I wonder if there should be a black list of known bad types, like bitfields, to avoid going down a path that is sure to fail.
from fbretaincycledetector.
That is a good point. Especially that, IIRC, throwing and catching exception is not exactly "free" :P
Maintaining short check-list before falling in might be a good thing for performance, the question is if it's cheaper to sometimes throw & catch, or constantly do a lookup in every ivar check.
Thoughts?
from fbretaincycledetector.
In my UIViewController
class, I create a property like this:
@property (nonatomic, strong) void(^aBlock)();
and I'm sure there is a retaincycle between my viewController and this property.
When I use FBRetainCycleDetector, my problem stop at FBClassStrongLayout.m line 43, with a global All Exceptions Breakpoint.
from fbretaincycledetector.
Related Issues (20)
- Cannot find any useful information
- Questions about elements in FBBlockStrongLayout
- Xcode 12.5 compile error: Cannot initialize a parameter of type 'id<NSCopying> _Nonnull' with an rvalue of type HOT 13
- There is a small problem in Xcode 12.5
- Xcode 12.5 compile error still exist HOT 1
- fix xcode 12.5 compile file FBClassStrongLayout.mm error HOT 5
- Xcode12.5,文件类中参数错误提示,导致本库无法安装 HOT 2
- This allows a user to switch between volume caches, which increases the HOT 1
- Archive error after updating Xcode 12.5 HOT 3
- iOS15 fishhook crash HOT 7
- Does this library support Mac OS ?
- swift import FBRetainCycleDetector circular reference path cannot be find
- NSGetSizeAndAlignment(): unsupported type encoding spec 'b' at 'b1' in 'b1' HOT 3
- Fb
- Has this repo been abandoned?
- wova
- [FBAssociationManager hook] setup crash HOT 1
- 二维码 CIQRCodeGenerator崩溃 HOT 3
- fishhook.c crash HOT 11
- MobSF reported use of unsecured function
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fbretaincycledetector.