4

Backtrace in crash log looks like this:

6   locationd                       0x00000001000bb24c 0x10006c000 + 324172

Seems like 0x00000001000bb24c is the function address, but what does the fourth column mean?

Seems like first part in the fourth column is the image base address. What's the second part mean?

From this question, someone thinks fourth column as a base address and offset address, but it seems the sum is not equal to the third column!

Karl
  • 665
  • 4
  • 19
  • The sum shouldn't equal the third column, a backtrace needs to include the return address. – Andon M. Coleman Aug 09 '16 at 11:38
  • Hi Andon, can you give a more accurate and detailed answer? @AndonM.Coleman – Karl Aug 09 '16 at 12:09
  • Sorry, that was probably confusing. Mats' answer is correct, the only difference is the base of the two numbers. What I meant to say is that the third column isn't the "function address," that is the address that generated the exception. It will not be the function's entry-point, rather an address somewhere within it. – Andon M. Coleman Aug 09 '16 at 14:54
  • For the top of stack frame, it's the address of the instruction that caused the exception. For the ones below it, it's the return address. But in all of these cases it's not the address of the function. – Andon M. Coleman Aug 09 '16 at 15:01

2 Answers2

6

0x00000001000bb24c is the Stack Address

0x10006c000 is the Load Address

324172 is the Symbol offset

EDIT:

You can find a guide here: https://www.apteligent.com/developer-resources/symbolicating-an-ios-crash-report/

Marco Santarossa
  • 4,058
  • 1
  • 29
  • 49
4

The last number in the row is printed in decimal (base 10) and all other numbers are printed in hexadecimal (base 16). 324172 decimal is 0x4f24c hexadecimal. Adding the load address and offset we get:

0x10006c000 + 324172 = 0x10006c000 + 0x4f24c = 0x00000001000bb24c
Mats
  • 8,528
  • 1
  • 29
  • 35