Use standard error stream to log errors
Better use of exceptions
Better exception usage
Display warning if function names is not correctly found by addr2line
Use objdump to get the function mangled names
Review the test case