It's not a secret that C/C++ development is much more exacting for code quality than development on Java. Fatal errors are much more likely to be made. In the meantime, collecting information about such mistakes is a non-trivial task, even for experienced developers. In the first part of this talk we will cover existing elaborations: how the built-in Android debugger works, what solutions already exist. The second part is dedicated to a story, how it works under the hood: how to obtain a processor state when an error has occurred, how to unwind a call stack, how to know source code line numbers. We will review stack unwinding libraries such as libcorkscrew, libunwind, libunwindstack. The talk will be interesting to Android developers, whose apps use the NDK, and to everyone else for expanding the horizons.