| # Starnix doesn't work with asan right now. LTO can cause execute_syscall to be inlined |
| # which breaks unwinding into user code. |
| ## require is_asan=false |
| ## require is_lto=false |
| ## require is_thinlto=false |
| ## require optimize=none |
| ## set timeout 30 |
| |
| # TODO(https://fxbug.dev/42077983): attach shouldn't be necessary. |
| # We can use weak here to avoid loading symbols until all of the modules are mapped into memory |
| # which speeds up the test quite a bit. |
| [zxdb] attach --weak starnix_proc_exception |
| Waiting for process matching "starnix_proc_exception". |
| |
| [zxdb] run-test --realm /core/testing/system-tests fuchsia-pkg://fuchsia.com/zxdb_e2e_inferiors#meta/starnix_proc_exception.cm |
| Attached Process 1 state=Running koid=?? name=starnix_proc_exception |
| |
| 🛑 software_break(uint64_t) • backtrace-request.h:?? |
| |
| # Zxdb can unwind into restricted stack. This tests that the asynchronous unwinder can perform |
| # unwinding operations using local debugging symbols with remote process memory. |
| [zxdb] frame |
| # When optimization is on, there might be other inlined frame so we only check |
| # the existence of the main function in the backtrace. |
| main() • starnix_proc_exception.cc |
| |
| # Zxdb can unwind into restricted stack. This tests the synchronous unwinder used on the target (no |
| # debug symbols available). This might need to change if we eventually strip unwind tables from |
| # starnix_kernel. |
| [zxdb] frame --force-remote-unwind |
| main() • starnix_proc_exception.cc |
| |
| [zxdb] kill |