Last line executed

Hi everyone,
The little app I am currently programming crashes somewhere, and my debugger actualy does not work. So I tried putting some cout << "blop\n"; everywhere in my code to see when it crashes, but it appears that the bugged instruction is executed multiple times before the app crashes.
Is there a way to know what line of code was executed last?
Thank you
With poor man's debugging, you need to also output the variables you are concerned about.

Though really you should just install a working debugger.
+1 LB

Another tip for poor man's debugging: use std::cerr instead of std::cout, or at least flush the buffer with std::flush for every output.
Last edited on
If you are lucky, then the crash has occured inside of an STL container. If that's the case, then try/catch an exception.

For hard-to-reproduce bugs, I like to throw exceptions in places where I think bugs could exist. Then add __FILE__ and __LINE__ to the message of the exception. That will tell me exactly where the issue occurred.

For the poor-man's debugger, instead of writing "blop\n" everywhere, write cout << __FUNCTION__ << std::endl; at the start of every function (this one is MSVC-specific). This will give you an idea of the stack and what functions were called immediately before the crash. Once, you've isolated the function, narrow down to a single line with the __LINE__ macro. Once you've narrowed it down to the line (it doesn't matter how many times that line is called before-hand), start printing local variables to see what the conditions are that are causing the crash. There is some condition, unique to this situation which is causing your problem.
Topic archived. No new replies allowed.