Xcode breakpoint don't work inside dispatch_async block

It turns out that it was because of a 3rd party framework New Relic. After removing reference to the New Relic framework, we can then step inside the dispatch_async block.

So for any developer working on project that has a new relic plugin, you can temporary remove reference to the plugin and add it back later when your debugging id complete.

It took us a few days to find out , and we hope that this piece of information is helpful to everyone.


As it turns out, Grand Central Dispatch instrumentation can indeed prevent breakpoints within dispatch_async blocks. You can disable the GCD macros in your environment by adding the following to your prefix.pch file:

#ifdef DEBUG
#undef dispatch_async 
#undef dispatch_sync 
#undef dispatch_after 
#undef dispatch_apply 
#undef _dispatch_once 
#endif