Many times while working, I get in to a situation where there is a severe problem in the C++ app I am supporting. And I need to investigate the root cause of the problem and a possible fix for it. However, I dont have access to C++ source code as it is in control of different team. I only have executable (I know it is C++ executable bcoz they have told me so) and log file generated by it. Most of the times its not possible to find out the problem just by looking at log file. App generally runs on Linux but for testing purpose we also run a version of it on Windows. I understand C++ quite a lot. Is there any way/tools which I can use to read/open this binary executable and understand what exactly is the source code (functions, variables, threads, flow, runtime data state etc.)?