Skip to content

Cannot get backtrace (stack trace) on Android devices; does this lib support android? #442

Closed
@fzyzcjy

Description

@fzyzcjy

Hi thanks for the lib! However, I cannot get backtrace (stack trace) on Android devices.

Thus I wonder does this lib support android? If so, could you please provide a working example? Thanks!

For example (ignore the long prefix - unrelated to the question)

hello I am an error
2021-10-13 19:17:00.873 8044-8167/? I/flutter: Stack backtrace:
2021-10-13 19:17:00.873 8044-8167/? I/flutter:    0: <unknown>
2021-10-13 19:17:00.873 8044-8167/? I/flutter:    1: <unknown>
2021-10-13 19:17:00.873 8044-8167/? I/flutter:    2: <unknown>
2021-10-13 19:17:00.873 8044-8167/? I/flutter:    3: <unknown>
2021-10-13 19:17:00.873 8044-8167/? I/flutter:    4: <unknown>
2021-10-13 19:17:00.873 8044-8167/? I/flutter:    5: <unknown>
2021-10-13 19:17:00.873 8044-8167/? I/flutter:    6: <unknown>
2021-10-13 19:17:00.873 8044-8167/? I/flutter:    7: <unknown>
2021-10-13 19:17:00.873 8044-8167/? I/flutter:    8: <unknown>
2021-10-13 19:17:00.873 8044-8167/? I/flutter:    9: <unknown>
2021-10-13 19:17:00.873 8044-8167/? I/flutter:   10: <unknown>
2021-10-13 19:17:00.873 8044-8167/? I/flutter:   11: <unknown>
2021-10-13 19:17:00.873 8044-8167/? I/flutter:   12: <unknown>
2021-10-13 19:17:00.873 8044-8167/? I/flutter:   13: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   14: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   15: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   16: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   17: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   18: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   19: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   20: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   21: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   22: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   23: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   24: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   25: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   26: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   27: <unknown>
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   28: _ZL15__pthread_startPv
2021-10-13 19:17:00.874 8044-8167/? I/flutter:   29: __start_thread, null)

If I manually print out the frames:

2021-10-13 19:16:58.434 8044-8099/? I/vision_utils_rs::api: debug_throw start mode=RETURN_ERR
2021-10-13 19:16:58.435 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8aba6bda, symbol_address: 0x8aba6bda }
2021-10-13 19:16:58.436 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8aba6c1e, symbol_address: 0x8aba6c1e }
2021-10-13 19:16:58.437 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8ab9124a, symbol_address: 0x8ab9124a }
2021-10-13 19:16:58.439 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8abad984, symbol_address: 0x8abad984 }
2021-10-13 19:16:58.440 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8ab95b62, symbol_address: 0x8ab95b62 }
2021-10-13 19:16:58.441 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8aba5a4a, symbol_address: 0x8aba5a4a }
2021-10-13 19:16:58.442 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8ab5d138, symbol_address: 0x8ab5d138 }
2021-10-13 19:16:58.444 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8b0d6704, symbol_address: 0x8b0d6704 }
2021-10-13 19:16:58.445 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8abb15d4, symbol_address: 0x8abb15d4 }
2021-10-13 19:16:58.446 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8aba422a, symbol_address: 0x8aba422a }
2021-10-13 19:16:58.447 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8aba4586, symbol_address: 0x8aba4586 }
2021-10-13 19:16:58.448 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8aba3d16, symbol_address: 0x8aba3d16 }
2021-10-13 19:16:58.450 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8ab907da, symbol_address: 0x8ab907da }
2021-10-13 19:16:58.451 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8abb1972, symbol_address: 0x8abb1972 }
2021-10-13 19:16:58.452 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8abb147e, symbol_address: 0x8abb147e }
2021-10-13 19:16:58.453 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8b0e8bd2, symbol_address: 0x8b0e8bd2 }
2021-10-13 19:16:58.454 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8b0e10aa, symbol_address: 0x8b0e10aa }
2021-10-13 19:16:58.455 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8b0e6054, symbol_address: 0x8b0e6054 }
2021-10-13 19:16:58.456 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8b0e3022, symbol_address: 0x8b0e3022 }
2021-10-13 19:16:58.457 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8b0ea36c, symbol_address: 0x8b0ea36c }
2021-10-13 19:16:58.458 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8b0eaa7c, symbol_address: 0x8b0eaa7c }
2021-10-13 19:16:58.459 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8b0ea30c, symbol_address: 0x8b0ea30c }
2021-10-13 19:16:58.460 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8b0e304a, symbol_address: 0x8b0e304a }
2021-10-13 19:16:58.461 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8b0e5f6c, symbol_address: 0x8b0e5f6c }
2021-10-13 19:16:58.462 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8b0e130a, symbol_address: 0x8b0e130a }
2021-10-13 19:16:58.463 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0x8b263d08, symbol_address: 0x8b263d08 }
2021-10-13 19:16:58.464 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0xb2a3f394, symbol_address: 0xb2a3f394 }
2021-10-13 19:16:58.464 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace resolve_frame symbol=Symbol { name: "_ZL15__pthread_startPv" }
2021-10-13 19:16:58.464 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace frame=Frame { ip: 0xb2a11abe, symbol_address: 0xb2a11abe }
2021-10-13 19:16:58.465 8044-8099/? I/vision_utils_rs::utils: capture_and_print_backtrace resolve_frame symbol=Symbol { name: "__start_thread" }

How I use it: cargo ndk to build into a .so file. Then call it by other language's ffi.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions