Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the number next to the method name in a stack trace?

I have a simple question, I suppose, but I cannot find anything.

What's the number at the end of line 6, + 429?

stack trace image

like image 795
DonMizzi Avatar asked Oct 22 '11 17:10

DonMizzi


People also ask

How do you read a stack trace?

The stack trace first prints the function call that caused the error and then prints the previous underlying calls that led up to the faulty call. Therefore, reading the first line of the stack trace shows you the exact function call that threw an error.

What does the stack trace contain?

The stack trace, also called a backtrace, consists of a collection of stack records, which store an application's movement during its execution. The stack trace includes information about program subroutines and can be used to debug or troubleshoot and is often used to create log files.

What is a stack trace error?

Stack trace error is a generic term frequently associated with long error messages. The stack trace information identifies where in the program the error occurs and is helpful to programmers. For users, the long stack track information may not be very useful for troubleshooting web errors.

How do you read stack trace top to bottom?

To read this stack trace, start at the top with the Exception's type - ArithmeticException and message The denominator must not be zero . This gives an idea of what went wrong, but to discover what code caused the Exception, skip down the stack trace looking for something in the package com.


1 Answers

It means that the return address for stack frame 6 is 429 bytes past the start of the -[#### tableView:cellForRowAtindexPath:] function. It might be inside that function, or it might be past the end of the function but not inside any other known function.

UPDATE

In order for the symbolicator to turn those return addresses into line numbers, you must have the .dSYM file that the linker created when it created the executable file. Each executable is tagged with a UUID, and the .dSYM file is tagged with the same UUID. The symbolicator looks at the UUID of the executable and uses Spotlight (OS X's filesystem search support) to find the matching .dSYM. If you didn't save the .dSYM, you will have a hard time turning the addresses into line numbers. Note that when you tell Xcode to build an archive (Product > Archive), the archive contains both the executable and its matching .dSYM.

like image 123
rob mayoff Avatar answered Sep 23 '22 17:09

rob mayoff