Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Maik Beckmann <maikbeckmann@gmx.de>
To: gdb@sourceware.org
Subject: Re: how to view content in stl vector
Date: Mon, 18 Jun 2007 12:54:00 -0000	[thread overview]
Message-ID: <200706181453.21676.maikbeckmann@gmx.de> (raw)
In-Reply-To: <20070618123650.GA6075@caradoc.them.org>

Am Montag, 18. Juni 2007 14:36:50 schrieb Daniel Jacobowitz:
> On Mon, Jun 18, 2007 at 02:26:36PM +0200, Maik Beckmann wrote:
> > Is storing of typenames possible at all?
>
> No.  GDB's command line scripting language does not support this sort
> of thing.  My plan is a more sophisticated Python integration.
>
> > A workaround for this would be a native c++ map-dump function, which
> > naturally would be implemented as function template, but I didn't find
> > out how to call an instantiated function template  :(
>
> It should work just fine.... I don't know for sure though.

This is an example:

source:
 - main.cpp 
 - Foo.h 
 - Foo.cpp

<main.cpp>
call foo(i)
No symbol "foo" in current context.
call bar(i)
$1 = true
</main.cpp>

<Foo.h>
#ifndef FOO_H_
#define FOO_H_

template<typename T>
bool foo(T val);

bool bar(int val);

#endif /*FOO_H_*/

</Foo.h>

<Foo.cpp>
#include "Foo.h"
#include <iostream>


template<typename T>
bool foo(T val)
{
    std::cout << "Hello from foo" << std::endl;

    return true;
}

template bool foo(int); // instantiates foo<int>(int)

bool bar(int val)
{
    std::cout << "Hello from bar" << std::endl;

    return true;
}
</Foo.cpp>

gdb says
<gdb>
call foo(i) # the template function
No symbol "foo" in current context.
call bar(i)
$1 = true
<gdb>


MfG, Maik


  reply	other threads:[~2007-06-18 12:54 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-06-12 15:05 kdsfinger
2007-06-15 19:52 ` Mark Kettenis
2007-06-18  8:53   ` Alpár Jüttner
2007-06-18 11:15     ` Maik Beckmann
2007-06-18 11:27       ` Daniel Jacobowitz
2007-06-18 12:27         ` Maik Beckmann
2007-06-18 12:36           ` Daniel Jacobowitz
2007-06-18 12:54             ` Maik Beckmann [this message]
2007-06-18 13:06               ` Daniel Jacobowitz
2007-06-18 14:35                 ` Maik Beckmann
2007-06-18 14:44                   ` Daniel Jacobowitz
2007-06-18 14:57                     ` Maik Beckmann
2007-06-18 15:03                       ` Maik Beckmann
2007-06-18 15:28                         ` Andreas Schwab
2007-06-18 15:49                           ` Maik Beckmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200706181453.21676.maikbeckmann@gmx.de \
    --to=maikbeckmann@gmx.de \
    --cc=gdb@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox