This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug ada/11385] cannot catch Ada exceptions


https://sourceware.org/bugzilla/show_bug.cgi?id=11385

--- Comment #8 from Simon Wright <simon at pushface dot org> ---
(In reply to Simon Wright from comment #7)

Well, that was misleading.

Current state of investigation (all work on Mac OS X 10.9.2/10.9.3 (Darwin
13.1.0/13.2.0), GDB 7.7:

If the program being debugged was built with GNAT GPL 2011/2/3/4, then
everything is OK.

If the program being debugged was built with FSF GCC 4.6/7/8/9 the problem
arises; âcatch exceptionâ fails.

One cure is to reference one of the symbols in s-excdeb.o first, perhaps by
printing it:

Reading symbols from inf...done.
(gdb) catch exception
Your Ada runtime appears to be missing some debugging information.
Cannot insert Ada exception catchpoint in this configuration.
(gdb) p __gnat_debug_raise_exception
$1 = {<text variable, no debug info>} 0x10000b692
<__gnat_debug_raise_exception>
(gdb) catch exception
Catchpoint 1: all Ada exceptions

Another is to read all the symbols to start with:

$ gdb -readnow foo
[...]
Reading symbols from inf...expanding to full symbols...done.
(gdb) catch exception
Catchpoint 1: all Ada exceptions

'p __gnat_debug_raise_exceptionâ actually reports the minsym, but for some
reason then goes on to read the full symbol, i.e. to load the symtab, which is
what âcatch exceptionâ requires.

So far I havenât been able to work out why using different compilers should
affect this result.

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]