Disable disassembly during debugging

I am trying to figure out how to disable the disassembly view in Xcode during debugging. I would like to just keep hopping through my code, and not go aside, looking through all the build code. I believe that in previous versions of Xcode there is an option in the debug menu, but I can not find any parameters in Xcode 4.5 (latest version). Any ideas?

Edit:

I double-checked to make sure that I was actually in my own code, not the library, and it still does this when I am in my own code. Here is a picture of what is happening:

ScreenShot2012-10-02at35031PM.png

This happened simply by creating a new project, creating a dummy function, calling this dummy function from viewDidLoad, setting a breakpoint on the function call and executing the operation using F6. Any ideas? External libraries were not used. I have confirmed that the option you specified is disabled when this happens.

- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. [self initVals]; } -(void)initVals { self.img = [[UIImageView alloc] init]; } 
+4
source share
1 answer

Product> Debug Workflow> Show Dismantle at Debug

enter image description here

Remember that you can see your own code . Breakpoints and / or crashes that occur inside any library or framework will only be displayed in the assembly, because the source code is just displayed there.

EDIT

The disassembly displayed in your edit is from the UIViewController . You can see it in the sidebar, as well as in the comments for the symbol in disassembly.

You can break your own code, but then if you go from here, you will finally end up with some kind of framework code.

In your example, you initVals call, from viewDidLoad in a subclass of UIViewController .

If you go to the end of this, you will end up with the UIViewController code, since after viewDidLoad it still has a lot of work to do.

So, to resume, pay attention to the symbol names in the sidebar. Here it just shows that you are not in your subclass, but in some implementations of the superclass. Therefore, the assembly is output only.

EDIT 2

Imagine the following code from a library (binary only):

 @interface Foo: NSObject - ( void )test1; - ( void )test2; - ( void )test3; @end 

And then you subclass it:

 @interface Bar: Foo @end 

Foo now does the following:

 - ( void )test1 { [ self test2 ]; [ self test3 ]; } 

In your subclass, suppose you only override test2 :

 - ( void )test2 { ... /* Breakpoint here, at the end */ } 

If you go from a breakpoint, you end the implementation of the superclass test3 , which is called immediately after test2 from test1 .

So, you just go from your own code to a superclass implementation. Here again, there is no human readable code to display, but only assembly.

+3
source

Source: https://habr.com/ru/post/1437213/


All Articles