blob: 66f0b5a9b0a106b76659fb96d7ff41d634bca0f2 [file] [log] [blame]
<html lang="en">
<head>
<title>Overloading support for Ada - Debugging with GDB</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Debugging with GDB">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Ada.html#Ada" title="Ada">
<link rel="prev" href="Additions-to-Ada.html#Additions-to-Ada" title="Additions to Ada">
<link rel="next" href="Stopping-Before-Main-Program.html#Stopping-Before-Main-Program" title="Stopping Before Main Program">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
Copyright (C) 1988-2019 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
any later version published by the Free Software Foundation; with the
Invariant Sections being ``Free Software'' and ``Free Software Needs
Free Documentation'', with the Front-Cover Texts being ``A GNU Manual,''
and with the Back-Cover Texts as in (a) below.
(a) The FSF's Back-Cover Text is: ``You are free to copy and modify
this GNU Manual. Buying copies from GNU Press supports the FSF in
developing GNU and promoting software freedom.''
-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
</head>
<body>
<div class="node">
<a name="Overloading-support-for-Ada"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Stopping-Before-Main-Program.html#Stopping-Before-Main-Program">Stopping Before Main Program</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Additions-to-Ada.html#Additions-to-Ada">Additions to Ada</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Ada.html#Ada">Ada</a>
<hr>
</div>
<h5 class="subsubsection">15.4.10.4 Overloading support for Ada</h5>
<p><a name="index-overloading_002c-Ada-1065"></a>
The debugger supports limited overloading. Given a subprogram call in which
the function symbol has multiple definitions, it will use the number of
actual parameters and some information about their types to attempt to narrow
the set of definitions. It also makes very limited use of context, preferring
procedures to functions in the context of the <code>call</code> command, and
functions to procedures elsewhere.
<p>If, after narrowing, the set of matching definitions still contains more than
one definition, <span class="sc">gdb</span> will display a menu to query which one it should
use, for instance:
<pre class="smallexample"> (gdb) print f(1)
Multiple matches for f
[0] cancel
[1] foo.f (integer) return boolean at foo.adb:23
[2] foo.f (foo.new_integer) return boolean at foo.adb:28
&gt;
</pre>
<p>In this case, just select one menu entry either to cancel expression evaluation
(type <kbd>0</kbd> and press &lt;RET&gt;) or to continue evaluation with a specific
instance (type the corresponding number and press &lt;RET&gt;).
<p>Here are a couple of commands to customize <span class="sc">gdb</span>'s behavior in this
case:
<a name="index-set-ada-print_002dsignatures-1066"></a>
<dl><dt><code>set ada print-signatures</code><dd>Control whether parameter types and return types are displayed in overloads
selection menus. It is <code>on</code> by default.
See <a href="Overloading-support-for-Ada.html#Overloading-support-for-Ada">Overloading support for Ada</a>.
<p><a name="index-show-ada-print_002dsignatures-1067"></a><br><dt><code>show ada print-signatures</code><dd>Show the current setting for displaying parameter types and return types in
overloads selection menu.
See <a href="Overloading-support-for-Ada.html#Overloading-support-for-Ada">Overloading support for Ada</a>.
</dl>
</body></html>