New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Breaking at a throw statement #2477
Comments
The exception you're seeing is one thrown by HPX during startup for unrelated reasons. Either simply continue in gdb until you hit your exception, or - in this case - alternatively delete the component binary Note to self: I need to finally make sure that the sine component will be loaded by the sine-performance-counter example only. |
I checked every break up to program termination, and I couldn't find my line number. (It's a lot of output, hard to be sure that it isn't there.) Additionally, how do I not build that component? |
Update: ok, just deleted libhpx_sine*, that helped. With only one break and a much shorter stacktrace, I also found the correct throw statement in the stacktrace. |
don't do "make all" or "make install", or disable the examples (-DHPX_WITH_EXAMPLES=Off). |
See #2478, this should solve the issue. |
#2478 has been merged, can we close this now? |
Thanks for the fix! |
It seems that I can't get a meaningful stack trace for my hpx application, even in the case of a trivial throw. I constructed a minimal example that throws a string:
and compiled it with
When I now
$ gdb unhandled_exception
,(gdb) catch throw
and(gdb) run
I get the stacktrace found in stacktrace.txt. As you can see, it didn't break where it should have breaked.On the other hand, the non-hpx program
compiled with
g++ -g -O0 trivial.cpp
gdb breaks at the expected line with the throw statement.How can I get a
catch throw
to break at the expected line with an hpx application?The text was updated successfully, but these errors were encountered: