Where is panic being set to abort?

Trying to fix a bug in a large project (a TUI library) that I am new to. When it panics (due to my coding errors) I get nothing other than an exit code 101. This tells me (I think) that the panic strategy is 'abort' or somebody installed a panic hook that does nothing

What should I do to try to track down where this is being done, the library uses crossterm and I wondered if it was installing something to catch a panic and clean up, but I cant find it.

I also dont see any cargo.toml panic = "abort" lines

panic = "abort" doesn't stop the panic hook from running (it runs before unwinding), so you would still get a panic message in that case. Most likely the panic message is being printed, but not successfully being visible to you due to the special things being done to the terminal.

crossterm does not, in my experience, do any automatic cleanup things. If you want anything like that, you'll have to do it yourself.

But instead of trying to get the panic to be visible on the same terminal, something you could do for debugging is to redirect stderr to a file, or a different terminal, so it can't be overwritten by any of the TUI output or corrupted by the terminal state modifiers.

aha - stderr being blocked / redirected - ty