This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[Bug gdb/11328] std::terminate isn't caught if one manually calls an inferior function that calls dlopen
- From: "pedro at codesourcery dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: 26 Feb 2010 01:44:32 -0000
- Subject: [Bug gdb/11328] std::terminate isn't caught if one manually calls an inferior function that calls dlopen
- References: <20100226013820.11328.pedro@codesourcery.com>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From pedro at codesourcery dot com 2010-02-26 01:44 -------
The problem is that dlopen causes a breakpoint reset, and breakpoint
resetting deletes (and uninstalls from the target) the std::terminate
breakpoint, because this breakpoint is of bp_breakpoint type, and has
no `b->addr_string' set (being a momentary breakpoint).
if (b->addr_string == NULL)
{
/* Anything without a string can't be re-set. */
delete_breakpoint (b);
return 0;
}
--
http://sourceware.org/bugzilla/show_bug.cgi?id=11328
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.